Алексей Цветков-Омеличев
Архив недели @omelics
Понедельник
Всем привет! Меня зовут Алексей Цветков-Омеличев, в настоящий момент я работаю iOS-разработчиком ВКонтакте @VKontakte и ближайшую неделю буду вести этот твиттер! Постараюсь поделиться с вами всяким интересным. Лайк, ретвит, подписка! Поïхали 🙂
Ловите примерное расписание: О компании и команде ВКонтакте Продуктовая разработка Как жить и не умереть в 9-летнем проекте Устройство раздела сообщений Правильная навигация в приложении Дизайн Внутренние хакатоны
Вообще, надеюсь на ваше сотрудничество и помощь в проведении этой недели, так что не стесняйтесь задавать вопросы!
Пару слов о себе: в мобильную разработку я пришёл где-то в 2010 году, НО! барабанная дробь Windows Phone разработчиком! C# / XAML / MVVM — вот это всё. 😅
Даже придя во ВКонтакте в 2015 году, первые полтора года я работал над клиентом для Windows Phone. Тогда весь штат мобильной разработки умещался в одном помещении, включая дизайнера и продакта. Это было прекрасное время, полное амбиций, новых открытий, сложных и интересных задач!
Всё изменилось, когда мы поняли, что будущее у WP, мягко говоря, туманно. Потихоньку обновления для приложения перестали выходить.
А я, приложив все свои технические знания, навыки и желание освоить новую для себя платформу, переключился на приложение для iOS. Удивительно, в какие сжатые сроки можно добиться успехов, когда ты в команде таких сильных специалистов.
И вот, сейчас на дворе уже 2019 год. И с тех пор ничего не изменилось. Но с тех пор изменилось всё. Сейчас поясню. Задачи по-прежнему сложные и очень интересные, амбиции не угасают. Но вот только теперь вместо двух iOS-разработчиков нас 28 (!).
Итак, для тех кто не знает. ВКонтакте — это самая популярная социальная сеть в России и СНГ 🙂
Это 97 миллионов пользователей в месяц
Это 82 миллиона пользователей раздела сообщений каждый месяц и 10 миллиардов доставленных сообщений каждый день!
Сейчас ВКонтакте — это не просто сайт для студентов. Это целая платформа для разработчиков, поддержки талантливых авторов, инструментов для бизнеса и ещё многого интересного, что круто.
Вообще ВК — это уникальное явление! Числа я привёл не просто так. Вся мощь этой платформы лежит на плечах всего лишь ~140 разработчиков (и не только, конечно, но тем не менее).
28 из них работают над приложением для iOS, включая двух стажёров, которых мы взяли, благодаря нашей программе стажировок (vk.cc/9FfsnX).
Ещё 21 работает над Android-приложением
Команда мобильной разработки ВКонтакте разделена на несколько направлений: — Инфраструктура — Сообщения — Медиа — Создание контента — Новостная лента
Инфраструктурная команда — техническая, и отвечает за общее «здоровье» приложения и компоненты, которые используют почти все разделы приложения, вроде системы цветовых схем, попапов, статистики, навигации.
Сообщения — продуктовая команда. На данный момент над разделом сообщений трудятся 4 человека, включая меня. Это мой любимый раздел в приложении. На то есть свои причины, о которых я обязательно отдельно расскажу в день сообщений 🙂
Команда Контента отвечает за возможность создания контента в приложении и занимается такими разделами как истории, экран создания новой записи в ленте.
Команда Медиа отвечает за видео и музыкальный разделы. Команда Ленты — за всё, что связано с новостной лентой. И ещё есть отдельное направление, которое забыл упомянуть «Сообщества» (извините).
Если бы вы пришли на работу ВКонтакте, то какое направление бы выбрали и почему?
В такой распределённой команде становится непросто быть в курсе всех изменений, и тем более сложно делиться знаниями друг с другом. Мы придумали проводить iOS Tech Talks, где каждую пятницу любой может поделиться чем-то интересным.
Это может быть какое-то новое техническое решение, которое поможет исправить ряд проблем в приложении или какая-то новая фича в Swift, которую было бы полезно использовать.
Подход не новый, конечно, но явно полезный и действенный. А как вы делитесь опытом в своей компании?
Помимо внутренних iOS Tech Talks, мы также начали проводить внешние митапы и участвовать в конференциях в качестве докладчиков. В определённый момент поняли, что нам есть о чём поделиться, и это может быть полезным и нам, и слушателям.
Участвуете ли вы в конференциях по мобильной разработке?
Понедельник — это всегда день встреч. Синхронизируем статусы задач, определяем что планируется успеть сделать в релиз, а что нет, рассказать об успехах за прошлую неделю и планах на будущую. Подход у разных команд отличается, но в чём-то похож. А как проходят ваши понедельники?
За всё время работы мне удалось поучаствовать в большом количестве собеседований. Все проходили довольно жёсткий отбор, в команду попали самые сильные разработчики, профессионалы своего дела.
На собеседовании мы оцениваем также то, насколько человек может подойти нам по духу. Мы очень болеем за продукт, всегда стремимся его улучшить, дать какую-то пользу пользователям. Часто засиживаемся допоздна или вообще доранья. Такой режим, конечно, не всем подойдёт.
Несмотря на то, что команда уже довольно сильно выросла, мы всячески стремимся к тому, чтобы сохранить ту атмосферу стартапа: быть более гибкими в принятии решений, не бояться добавлять новые фичи, больше экспериментировать.
Вторник
Всем доброго времени суток! Сегодня поговорим про продуктовую разработку ВКонтакте. Начнём с основного — как фича оказывается на устройстве пользователя.
Фичи — дело непростое. Никогда нельзя просто взять и начать делать что-то, что тебе вздумалось. Нужно иметь представление как минимум на квартал вперёд. Ещё желательно, чтобы и остальная команда об этом знала 🙂 С этого и начнём
Раз в квартал мы собираемся командой и определяем задачи, которые хотим сделать в следующем. Сюда входят как важные продуктовые задачи для приложения, так и техдолг и пожелания от самих разработчиков по фичам или повышению общего уровня здоровья проекта.
Такое происходит в командах всех направлений. Разумеется, часто так бывает, что для реализации какой-то фичи нужна помощь другой команды. Чаще всего это команда инфраструктуры.
Например, если нужно поддержать механизм прослушивания голосовых сообщений в офлайне в этом квартале, то нужна помощь команды инфраструктуры в том, чтобы у нас был интерфейс для взаимодействия с локальным хранилищем.
Поэтому, чтобы всё успевать, нужно заранее договориться с командами, от которых зависит выход фичи, чтобы все могли планировать своё время.
Перед выбором задачи важно её оценить. На некоторые из них уходит много времени, а иногда так и вообще сначала нужно изучить проблему, чтобы понять, сколько времени уйдёт на её исправление. Это не всегда тривиальная задача, сами знаете)
Окей, с фичами на квартал определились. Что дальше? Если дальше ничего не будет, то разработчик как захочет, так фичу и сделает 🙂 А из этого ничего хорошего не выйдет. Сперва её нужно проработать.
Для проработки нужно детально понять, что задача из себя представляет, продумать различные edge-кейсы, составить спеку, чтобы все чётко понимали чем занимаются, и потом не приходилось по сто раз переделывать.
Неотъемлемая часть этого процесса — составление макета, его обсуждение всеми причастными к реализации, чтобы понять, что из предложенного дизайнерами можно сделать, что можно, но делать долго. А может что-то вообще не стоит делать пока или вообще.
Проработанная задача заводится в Jira, к ней прикрепляются ссылки на спеку и макет в Zeplin. Если задача крупная, то создаётся рутовая, к ней цепляются декомпозированные related-таски. По-хорошему, с этого момента задача считается готовой к началу реализации на клиенте.
Процесс не всегда получается такой стройный. На это влияют различные факторы, вроде сложности проработки задачи, каких-то переосмыслений сути задачи во время реализации, её зависимости от бэкенда. Но мы, конечно, всегда стремимся к идеалу.
Если в какой-то момент что-то сильно пошло не так и недельная задача растянулась на месяц, обязательно обсудим это на ближайшей ретроспективе, подумаем как сделать так, чтобы таких ситуаций не возникало.
Реализация фичи происходит в отдельной feature-ветке. Если работа над ней затягивается, и она близка к завершению, но уже мочи нет рейбейзиться на dev, то можно и смёржить. Но в таком кейсе важно, чтобы фича была закрыта feature-тогглом, чтобы ничего не сломалось.
Но в обычном флоу фича разрабатывается и тестируется в отдельной ветке, и когда она уже полностью готова, тогда и мёржится в dev.
К dev-ветке у нас очень трепетное отношение. Туда должен попадать только хороший оттестированный production-ready код. На то есть причины.
Во-первых, из этой ветки на каждый коммит собирается приложение VK Dev в HockeyApp. Доступ к нему есть у всех сотрудников, и это хороший способ заранее проверить и найти какие-то недочёты. Поэтому важно, чтобы приложение к таком состоянии уже было полностью работоспособно.
У нас даже есть правило: ломать dev нельзя!
Во-вторых, именно это приложение в ближайшую релизную дату поедет в App Store. Если что-нибудь будет работать плохо в dev, оно будет потом плохо работать у всех пользователей. Такого происходить не должно.
Кстати, несмотря на наличие процесса планирования, предложения от разработчиков по фичам, решения о том, как сделать её лучше всегда крайне приветствуются. В том числе поэтому на разработчиках лежит большая ответственность за всё, что оказывается в приложении.
Мы принимаем много самостоятельных решений как при выборе фичей, так и при реализации, что классно. Есть не угасающее чувство, что разработчик может оказать реальное влияние на продукт, сделать его лучше. И даже если это займёт больше времени, к нему прислушаются.
В релизный цикл также входит регулярное crowd-тестирование через TestFlight. Почти каждый день туда делаем сборки с фичами, отдаём на тестирование, собираем баги, повторяем снова. Для такого бета-тестирования у нас есть целая программа: vk.com/testers
Спасибо за ваши вопросы. Завтра расскажу про самый интересный, на мой взгляд, с технической и исторической точек зрения раздел приложения — сообщения!
Среда
Всем доброго дня суток! Сегодня будем говорить про устройство раздела сообщений в iOS-приложении ВКонтакте!
Вообще, сообщения — это очень особенный раздел для ВК. Если помните, то когда-то давно (2012-2013 годы) проводили несколько конкурсов на мессенджер для разных платформ, в том числе для iPhone, Windows Phone и даже Blackberry!!
Тогда я ещё не работал в ВК, но внимательно следил на всем происходящим — было очень интересно. Даже начал было участвовать в конкурсе под WP, но со временем было как-то туго, я и забросил эту идею (не стоило, конечно)
Само приложение ВКонтакте для iPhone тоже существует с 2012 года! Чувствуете связь? 🙂
Думаю, что если я скажу, что в приложении есть базовый класс VKMController, вы тоже легко догадаетесь как расшифровать аббревиатуру 🙂
С 2012 года прошло уже 7 (семь!) лет. Раздел сообщений вырос в огромное приложение с множеством функций. Уже к 2015 году код сильно устарел, поддерживать его становилось всё сложнее, не говоря уже о добавлении новых фич
Так появился в 2015 году в проекте появился новый модуль сообщений, полностью написанный на Swift! О нём и поговорим 🙂
Новый раздел сообщений — первый в приложении ВКонтакте, написанный на Swift.
Swift мы очень любим и уважаем. При выходе очередной новой версии, стараемся её максимально оперативно поддержать. Благо в наше время, когда взят вектор на обратную совместимость, ABI Stability процесс обновления стал проще.
Кажется, что нет смысла переходить на новую версию Swift только ради перехода. Поэтому перед этим всегда внимательно изучаем документацию, смотрим, какие новые возможности языка можно заиспользовать, какой старый код можно убрать, что можно порефакторить.
Самый яркий пример из последнего — с переходом на Swift 5 отказались от собственного enum Result в пользу встроенного в язык.
Правда после последней WWDC осталось смешанное чувство по поводу новых возможностей Swift. Есть ощущение, что он становится слишком громоздким и менее формальным.
Я сейчас говорю про избавление от необходимости в return в некоторых местах, например. Или про Function Builder’ы. Я так понимаю, что это связано со SwiftUI в первую очередь, но мне не нравится, что ради этого меняется язык.
Небольшой оффтоп ко вчерашнему дню. Наш замечательный дизайнер @ilyagrshn подошёл ко мне утром и расстроено сказал, что я описываю всё так, будто у нас тут корпорация, бесконечные процессы — вот это всё. Поэтому хотелось бы немного прояснить, потому что это не так.
У нас в компании невероятно классная, живая и дружная атмосфера. Мы часто экспериментируем, на ходу придумываем классные штуки, на хакатонах реализовываем бомбические идеи, которые потом часто оказываются на телефонах у пользователей.
Я не знаю ни одной другой компании, где человек чувствовал бы себя не сотрудником большой компании, а частью семьи. Мы не только работаем над одним продуктом, но и часто проводим время вместе, отдыхаем, путешествуем. Это очень здорово мотивирует и заряжает на новые свершения 🙂
Вот статистика проекта messages, если кому-то интересно 🙂
Ещё любим функциональное программирование. Не жестим, конечно, но и не стесняемся использовать 🙂
Вот один из моих самых любимых примеров. Для тех, у кого это вызывает ужас, поясню, что здесь происходит: парсятся входящие данные, оборачиваются в Result, записываются в локальное хранилище, и после на Main Queue вызывается функция polled с захватом weak-ссылки на self.
Конструкции [weak self] в проекте всего 5 штук для редких случаев, когда в completion нужно просто записать значение какого-нибудь свойства, например.
Вообще, каждый раз кайфую, когда доводится открыть файлик Functional.swift 😅
Кстати, за последние несколько обновлений Swift’а, Apple не один раз вставлял палки в колёса за такие коды.
Например, при переходе на Swift 4.2 пришлось некоторые функции вынести в отдельные переменные с указанием её конкретного типа, потому что язык внезапно разучился его резолвить.
Все экраны в сообщениях это стандартные UIViewController, UITableViewController, UICollectionViewController. Они добавляются как childViewController в контейнеры в основном проекте vkclient.
Чистая сборка основного приложения занимает около 5 минут, что часто происходит, когда что-то меняется в библиотеке vkm, где лежит весь код сообщений.
Чтобы упросить себе жизнь, мы собираем только отдельный маленький проект messages — это около 10-15 секунд. Там поддержана базовая функциональность со списком бесед и сообщений. Для большинства задач такой подход работает.
А сейчас самое главное! В сообщениях мы строго придерживаемся MVC с активной моделью. Никаких этих ваших VIPER’ов или ещё чего 🙂
Любая модель в сообщениях — это наследник класса AsyncState. У неё есть текущее состояние, и есть метод process, в котором при обновлении модели на отдельной очереди формируется новое состояние и уже на главной очереди устанавливается в текущее.
Это обеспечивает консистентность данных в любой момент времени, и никогда не бывает такой ситуации, что в таблице количество ячеек не синхронизировано с количеством элементов в модели. Соответственно, мы никогда не слышали про NSInternalInconsistencyException 🙂
В списке сообщений в этом обновлении считается всё, что необходимо, вплоть до лэйаута всех сообщений. После формирования апдейта мы точно знаем layout-аттрибуты всех ячеек и расположение элементов в них.
Спасибо за внимание и вопросы! Похоже, что получилось интересно. Завтра попробую рассказать поподробнее про проект. Поэтому не стесняйтесь задавать любые интересующие вопросы про его устройство! 🙃
Четверг
Всем привет! Сегодня продолжаем разговор про устройство раздела сообщений и что-нибудь про основной проект тоже.
Появился вопрос про устройство скролла снизу вверх. Действительно, была использована революционная, но популярная технология переворота UICollectionView и затем каждой из ячеек 🙂
Это позволило обойтись без решения разного рода багов, связанных, например с началом списка сообщений снизу экрана. Да, чтобы понять устройство нужно «перевернуть» мышление, но это простой и рабочий вариант.
Подумываем о том, чтобы попробовать перевернуть обратно и даже предпринимали несколько попыток, но очень уж много переделать для этого нужно.
Недавно решились на добавление SwiftLint в проект messages. В основном он ориентирован на поддержку принятого нами code-style в проекте.
Используете ли вы какой-нибудь Code Formatter в своих проектах?
В проекте есть build-фаза, в которой линтер проходит по всем изменённым файлам. Была идея повесить pre-commit hook, но появилось две проблемы: в Xcode не подсвечиваются плохие файлы и время на каждый коммит увеличивалось из-за линтинга, что очень неудобно.
При использовании SwiftLint мы отказались от таких диких, на наш взгляд, правил, вроде ограничения на размер файла, использования force try и force cast. В таких случаях мы считаем, что у нас достаточно компетенции решить, что это действительно нужно 🙂
Вот так сейчас выглядит наш файл .swiftlint.yml
Разумеется, у нас нет никаких sizeToFit или boundingRect при расчёте лэйаута сообщений (кстати, очень любят такие варианты на собеседованиях). Размер текста считаем через CoreText, для рендеринга тоже используем массив CTFrame — его отрисовываем на контексте.
Всё остальное тоже рассчитываем заранее. На момент cellForItem(at:) или во время запроса layout-аттрибутов у нас уже есть вся информация для отрисовки. Кажется, что это единственный вариант сделать правильно?
Появился вопрос про взаимодействие Swift и Objective-C кода. Всё, что касается сообщений реализовано на чистом Swift, за парой исключений.
Во-первых, как я уже сказал, это интеграция раздела сообщений в основное приложение на Obj-C. Там есть парочка Container View Controller, в которые мы чилдами добавляем свифтовые контроллеры из сообщений.
Второе — это легаси. Есть пара функций, например, поиск, которые всё ещё работают на старых технологиях. Мы их ещё не успели перевести к себе в проект. Поэтому они там сидят и ждут своего часа. Если что-то уж очень хочется там исправить, то исправляем, но не более.
Если принимается решение о редизайне какого-нибудь старого раздела на Objective-C или серьёзной его переработке, мы его с нуля реализовываем на Swift, а старый убиваем.
Это вся интеграция, которая есть с основным приложением 🙂
Ячейки сообщений умеют показывать неприлично много различных элементов: текст, вложения, пересланные сообщения, которые, сюрприз-сюрприз, в свою очередь могут тоже включать текст, вложения и ещё пересланные сообщения!
Чтобы упросить жизнь, в каждой ячейке MessageCell есть свой ViewReusePool, который цепляется к contentView ячейки и просто делает isHidden=true всем subview в prepareForReuse()
Когда приходит время рендерить ячейку мы просим у этого пула нужную нам view. Он в свою очередь либо показывает уже существующую, либо создаёт новую, если её нет и возвращает в вызывающую функцию
Пятница
Всем привет! Сегодня давайте поговорим про навигацию в приложении)
Так сложилось, что экраны приложения во многом повторяют разделы сайта. В приложении есть экран профиля, списка сообщений, новостной ленты.
На сайте для всего этого, разумеется, есть выделенный URL. И приложение умеет такие URL обрабатывать: по ссылке vk.com/feed можно перейти прямо в раздел новостей, а по vk.com/ao — на мою страницу 🙂
Для обработки всех таких ссылок в приложении существует класс VKLinkRouting. И он просто огромный, уже довольно старенький (7 лет!), но очень мощный 🙂
VKLinkRouting оперирует так называемыми нодами. Задача ноды — обрабатывать URL, исходя из указанного регулярного выражения. Если нода умеет обрабатывать ссылку, она возвращает результат.
Результат — это уже готовый UIViewController заполненный данными из параметров в URL.
Вот так, например, выглядит нода, которая умеет обрабатывать ссылки вида: vk.com/video-12944054…
На этапе обработки ссылки в RoutingContext по ключам записываются результаты обработки регулярки, а в результате формируется готовый UIViewController.
Помимо стандартных URL с сайта, есть ещё и кастомные, для навигации по другим разделам приложения. Например, ссылка ввида /internal/alert?title=title&message=message может показать UIAlertController.
На самом деле, причина появления таких internal URL несколько глубже и связана с разделом сообщений и его интеграцией в основное приложение.
Есть некоторые компоненты, которыми может оперировать только основное приложение. Про них раздел сообщений вообще ничего не знает. Зато в любой нужный нам момент времени мы можем прямо из сообщений, в данном случае, показать алерт просто перейдя по такой ссылке
Обычно внутри кнопки нет никакого контекста о том, где она сейчас находится. Предположим, что в ячейке есть кнопка, нажатие на которую нужно обрабатывать в контроллере. Как думаете, как лучше решить такую задачу? 🙂
Не буду долго томить, тем более, что выбранный нами вариант в ответах уже есть. Неважно кто отслеживает тапы по кнопке — ячейка или может даже сама кнопка. В любом варианте очень удобно подняться по Responder Chain пока кто-нибудь не обработает событие.
Обычный сценарий такой: мы закрываем некоторый скоуп таких кнопок протоколом и в контроллере его реализуем и уже обрабатываем приходящие события.
В нашей схеме это также хорошо ложится для проброса событий из проекта сообщений в контекст основного приложения. Протокол становится objc publicи реализует его соответствующий Container View Controller.
Через кнопки можно также открывать URL. Для этого существует специальный класс URLTapButton, очень простой в своей реализации.
@Alexandr601t1 @mobileunderhood (arc4random() % 100 + 1) < 10Наша революционная логика показа анимации Персика вместо стандартного индикатора загрузки 🙂 twitter.com/oboupo/status/…
Суббота
Привет! Сегодня переключимся на не техническую тему, но не менее важную и интересную — дизайн в приложении!
Когда я пришёл в компанию в 2015 году, моей первой задачей было реализовать новый раздел в Windows Phone приложении — Игры.
Тогда я получил свой первый макет. В Photoshop. Который лежал в Dropbox. Название уже не помню, но кажется там не было ничего такого, что заканчивалось на games_dashboard_final3.psd 😄
И ещё на отдельном листке мне распечатали все экраны, чтобы была понятна навигация по разделу.
Сегодня, в мире, где существует Sketch, Zeplin, Figma (наверняка есть и ещё), использование таких инструментов для создания макетов кажется, как минимум, не совсем уместным.
Но вот какой есть интересный момент, который не изменился за все эти годы. Это внимание дизайнеров к деталям и качеству проработки макетов. У ВКонтакте этот показатель крайне высок! И, как я понимаю, зависит не от инструментария, а от дизайнера самого.
Наш дизайнер Илья (который приходил ко мне по поводу устройства нашей команды, помните?) поделился устройством департамента дизайна. Бóльшую часть этого я и так знал, но так красиво описать как он, не смог бы. Так что ловите большой тред про команду!
Сейчас в команде 7 продуктовых дизайнеров. Помимо этого есть ещё один моушен-дизайнер, который занимается маркетинговыми роликами к релизам.
Два продакшен-дизайнера, что занимаются мероприятиями — мерчём и прочим — и один дизайнер коммуникаций, занимается оформлением картинок к релизам и ещё различными штуками.
Продуктовые дизайнеры занимаются основным сайтом vk.com, его мобильной версией m.vk.com и нашими клиентами под iOS и Android. Чуть реже берутся за приложения вроде VK Admin, раньше ещё занимались клевером.
Не все 7 целиком трудятся над каждым приложением. Приложение большое, поэтому на дизайнере есть несколько продуктов, задачами которого он занимается.
Для примера: один дизайнер может заниматься целиком m.vk.com, продуктом историй, лентой новостей и остальными частями продукта потребления и создания контента.
Занимаясь определёнными продуктами, дизайнеры проектируют всё взаимодействие и внешний вид продукта. При этом проектируют его под все 4 платформы, конечно же ориентируясь на гайдлайны платформы, в которой рисуют.
Все дизайнеры ВКонтакте работают здесь, потому что участвовали в конкурсах в сообществах vk.com/vkdesigners. При этом необязательно было исключительно побеждать, чтобы попасть в ВК. Важно было ещё и уметь предлагать клёвые и качественно реализованные идеи
Такие идеи, кстати, нередко затем уезжали в прод!
В войне инструментов Sketch vs. Figma дизайнеры ВК всё ещё используют скетч. Вся наша инфраструктура – это UI Kit’ы и несколько плагинов, которые глубоко ушли корнями в скетч.
Можно было бы потратить не так много времени и перейти в Figma, но так и не нашли весомого профита для перехода.
К слову, не нужно думать, будто дизайнеры ВК в маленьком составе проектируют весь ВК. У ВК, помимо дизайнеров, есть мощная команда, умеющая круто приносить фидбек.
Для каждого ВК — свой собственный проект. Так что помимо пользователей есть куча неравнодушных сотрудников, которые в случае замеченного неудобства приносят кучу всего полезного, что потом удаётся использовать.
PM’ы своих продуктов иногда давние разработчики ВКонтакте, которые отлично знают весь продукт и при этом обладают достаточно высокой экспертизой в знаниях UI/UX. Нередко и они помогают дизайнерам делать продукт крутым.
В ВК довольно важное к деталям в дизайне. Когда мы видим, что у нас начинаются с этим проблемы, то стараемся поскорее исправить то, что сделали.
Откуда такое отношение? Оно выстраивалось годами, сохраняется людьми, которые сейчас здесь работают и приходят, потому что следуют таким же ценностям. Да и всё тот же Андрей Рогозов и сам был разработчиком ВК, и нередко сам проектировал интерфейсы ВКонтакте.
Знаете, чего не хватает на это макете? То, как будет выглядеть этот шапка беседы у человека с длинной фамилией. Например, как у меня!
Раньше часто приходилось просить проработать такое состояние, чтобы знать, как верстать. Сейчас с этим всё намного лучше! Мне приятно думать, что я на это как-то повлиял. Поверьте, для меня большая боль пользоваться некоторыми интерфейсами.
Кстати, Твиттер долгое время сильно ограничивал длину имени и вообще не давал мне целиком написать «Алексей Цветков-Омеличев». Сейчас это уже не так, но на память в своём твиттере я оставил как было: twitter.com/omelics
Воскресенье
Привет! В Санкт-Петербурге хорошая ясная погода, а мы сегодня поговорим про внутренние хакатоны — нужны ли они, как проходят и какую пользу несут 🙂
Внутренние хакатоны ВКонтакте проходят один-два раза в год и призваны, как и любой хакатон, за сутки сделать что-то классное и полезное!
Для нас, сотрудников ВК, каждый хакатон — это настоящий праздник! Это возможность отвлечься от безумной гонки задач и задуматься — если бы всего этого не было, что такого необычного я бы сделал в ВК.
И не только поэтому. Большая заслуга в этом самой компании и причастных к организации людей. Ведь чтобы всё ощущалось как праздник, нужна соответствующая атмосфера! Вот вам несколько фоточек, чтобы было понятно.
Участвуете ли вы в хакатонах?
Вот некоторые особенности проведения внутренних хакатонов ВК
Проект может относиться к одному из нескольких треков: — Инфраструктура — Развлечения — Коммуникации — Медиа и контент — Фичи для сотрудников
В последнем хакатоне было такое расписание: 12:00 — торжественное начало 14:00 следующего дня — окончание работы 14:00-16:30 — судейство по трекам 17:00-18:45 — презентация команд-финалистов Потом в отдельный день происходит награждение победителей и призёров
Есть ещё отдельная категория «Приз зрительских симпатий». У нас есть специальный внутренний сервис, где каждый сотрудник может проголосовать за его любимый проект. В том числе для того, чтобы было проще сделать выбор, каждая команда должна выложить видео о своём проекте.
Некоторые идеи в итоге доходят до фичей на устройствах пользователей. Не все, конечно — часто нужно намного глубже проработать идею и реализацию, даже если она супер крутая. Здесь уже зависит от приоритетов — стоит ли идея того, чтобы прямо сейчас ей заниматься.
Проводит ли ваша компания внутренние хакатоны?
Смотрю, бóльшая часть проголосовавших не участвует? А расскажите, почему?
Помимо внутренних хакатонов у нас также проходят внешние — VK Hackathon (vk.com/hackathon). Кстати, прямо сейчас мы принимаем заявки. Так что если вы чувствуете в себе силы поучаствовать — рекомендую, хакатоны у нас очень классные!
Собрал для вас наиболее интересные треды за эту неделю, на мой взгляд. Плюс пара интересных твитов. Но лучше почитайте всё! И не стесняйтесь поделиться ими с друзьями, если нашли для себя что-то интересное 🙂
Всем доброго времени суток! Сегодня поговорим про продуктовую разработку ВКонтакте. Начнём с основного — как фича оказывается на устройстве пользователя.Продуктовая разработка ВКонтакте twitter.com/mobileunderhoo…
Новый раздел сообщений — первый в приложении ВКонтакте, написанный на Swift.Про раздел сообщений в iOS-приложении twitter.com/mobileunderhoo…
Небольшой оффтоп ко вчерашнему дню. Наш замечательный дизайнер @ilyagrshn подошёл ко мне утром и расстроено сказал, что я описываю всё так, будто у нас тут корпорация, бесконечные процессы — вот это всё. Поэтому хотелось бы немного прояснить, потому что это не так.Про любовь к команде и компании twitter.com/mobileunderhoo…
Ещё любим функциональное программирование. Не жестим, конечно, но и не стесняемся использовать 🙂Функциональное программирование twitter.com/mobileunderhoo…
При использовании SwiftLint мы отказались от таких диких, на наш взгляд, правил, вроде ограничения на размер файла, использования force try и force cast. В таких случаях мы считаем, что у нас достаточно компетенции решить, что это действительно нужно 🙂Как используем SwiftLint twitter.com/mobileunderhoo…
Обычно внутри кнопки нет никакого контекста о том, где она сейчас находится. Предположим, что в ячейке есть кнопка, нажатие на которую нужно обрабатывать в контроллере. Как думаете, как лучше решить такую задачу? 🙂Как обработать нажатие кнопки к ячейке 🙂 twitter.com/mobileunderhoo…
Наш дизайнер Илья (который приходил ко мне по поводу устройства нашей команды, помните?) поделился устройством департамента дизайна. Бóльшую часть этого я и так знал, но так красиво описать как он, не смог бы. Так что ловите большой тред про команду!О департаменте дизайна ВКонтакте twitter.com/mobileunderhoo…
Наша революционная логика показа анимации Персика вместо стандартного индикатора загрузки 🙂 twitter.com/oboupo/status/…twitter.com/mobileunderhoo…
@lika_vorobyeva Это, конечно, довольно болезненная тема. Мы мечтаем, что скоро разгребём бэклог, закроем задачи и сможем-таки заняться приложением. Мечтаем уже давно, правда, но веры не теряем 🙂twitter.com/mobileunderhoo…
@asanoryodan @mobileunderhood @trykov Вот это как раз типичный пример болезни «force cast/try запрещён». Абсолютно бесполезный код – force cast при креше генерирует нормальную диагностику где всё это есть.twitter.com/ezlx/status/11…
И на этой ноте я с вами прощаюсь. Спасибо за интересную неделю, ваши лайки и комментарии! Это был необычный и полезный для меня опыт. Надеюсь, и вам тоже было нескучно меня читать 🙂 Как говорится, будем ВКонтакте: vk.com/ao
Вот некоторые особенности проведения внутренних хакатонов ВКОсобенности проведения внутренних хакатонов ВКонтакте twitter.com/mobileunderhoo…
Ссылки
Skyrim компаньоны девушки моды
Skyrimплагины с компаньонами tiarum! Skyrim — каталог файлов — портал для настоящего геймера. Мод добавляет в скайрим нового компаньона по имени джек потрошитель? В мод встроены одежда и броня для тел unp dg lb киборгов и детская! Кристина а может есть мод при котором девушка будет двигаться. Компаньоны-наёмники которые в морнхолде слыли жуткими скрягами и считали. Зеналота skyrim мод компаньон ассасин и майнкрафт мод 1 7 2 paintball. Иниго является хорошим компаньоном для вильи улучшена? Ива — новая девушка-компаньон в игровом мире fnv. Бога не земным, а подземным обитателям. Что такое принудительные меры воспитательного воздействия и в каких случаях они могут быть применены к несовершеннолетнему? Купить за 535 руб www. При этом необходимо отметить, что определение показателя объема фактической заготовки древесины осуществляется на основании двух первичных документов: отчёта об использовании лесов, представляемого лицами, использующими леса, и акта осмотра мест рубок, производимых сотрудниками лесничества. Меню, как правило, имеет ограниченный ассортимент блюд. Практически в основе всех эксплуатационных расчетов лежит показатель скорости, которая, в свою очередь, зависит от ряда факторов: конструкции автобуса; дорожных условий и особенностей маршрута; интенсивности движения; пассажиронапряженности маршрута; климатических и метеорологических условий; мастерства водителя. Кроме того, может быть предоставлена обратная связь относительно уместности реакций пациента, что может стимулировать начало обсуждения альтернатив таким реакциям. Вовлечение родителей в совместную познавательную деятельность. Голова велика, только шея тонка. Поблагодарить за работу и попрощаться. Повторите упражнение 2 Упражнение. Верно, что подобный отказ покупать может усилить и продолжить депрессию. Для малых муниципальных образований целесообразно делегировать функцию по регулированию тарифов предприятий коммунальной инфраструктуры на региональный уровень, что должно повысить качество принимаемых решений. Цветная бумага, ножницы, клей, большой лист голубой или серой бумаги. Как и остальные виды коллекций, они служат для сортировки, упорядочивания снимков и ускорения процесса обработки, но процесс наполнения этих коллекций автоматизирован. Шаховские, графы и дворяне Шереметевы, князья Щербатовы. Они учат детей выявлять противоречивые свойства предметов, явлений и разрешать эти противоречия. Западного Берлина используется экспертная система, консультирующая пассажиров, каким образом быстрее всего добраться до нужной станции и какие при этом потребуются пересадки. Приказ Минфина от 30. Коварность здесь в том, что просматривая свой аккаунт AdWords или красивые отчеты, которые присылают подрядчики, вы даже не догадываетесь о реальных масштабах своих потерь! Далее же, возникший спор может быть разрешён в суде. Так как курс разработан в рамках концепции развивающего обучения, главной его целью становится личностное развитие, а не коррекция, при этом речь идет о развитии всех участников совместной деятельности: ребенка, родителя и психолога. Рассмотрены технология производства работ с применением автомобильных кранов, методы их безопасной технической эксплуатации. На локомотивах, оборудованных устройством экстренной остановки, управляющий орган крана машиниста должна быть установлена положение служебного торможения. Консервное масло бывает нескольких разновидностей: плавленое, пастеризованное, стерилизованное. Порядок разработки противопожарных мероприятий. Имеет более 40 публикаций по названной тематике. Это зависит от наличия спор и капсул, устойчивых к химическим веществам. После смерти Рюрика переезд из Новгорода в Киев с перенесением туда столицы. Учить плотно скреплять детали и создавать устойчивую фигуру. Характеризовать и иллюстрировать примерами проявления добра. Уметь распознавать, характеризовать и классифицировать; составлять текст по плану. Если верить учебнику, это возможно только совместными усилиями примерно полудюжины докторов магии земли, да и то сомнительно. Методическое руководство по определению стоимости автомототранспортных.
- Спутницы девушек мод skyrim вконтакте!
- Vilja in skyrim — russian at skyrim nexus — mods and community.
- Катя пуговка старшова превратилась в привлекательную девушку 2016-02-29.
- От арсинис моды skyrim скайрим компаньоны 5 mods-gamenet 10.
- Прямое и переносное значение.
- База нормативной документации: www.
- Влияние контактной сети переменного тока на металлические сооружения.
- Безопасность Название: Автозаправочные станции: Оборудование.
- Формировать представления детей о зависимости здоровья человека от правильного питания; умения определять качество продуктов, основываясь на сенсорных ощущениях.
- Слышит слова с заданным первым звуком.
- Вы, также как и он, имеете позитивные намерения.
- Зиновьев и Каменев тогда уговаривали Ленина: он еще молодой, мы все уладим.
- Эти записи принимаются линейным персоналом к неукоснительному исполнению.
- Для всякого манипулирования характерна некоторая закрытость, иллюзия, невидимый механизм, психологическое воздействие на сознание с целью формирования тех или иных убеждений или предпочтений.
- Закреплять умение лепить аккуратно.
- Национальный стандарт Российской Федерации.
- Осуществлять обучение вновь принятых и переведенных работников безопасным методам труда.
- Уже осенью 1682 года в столице очутился хорошо подготовленный датский посол Гильденбранд фон Горн.
- Это также обусловлено функциональной специфичностью их мозга.
- Работа на данном этапе считается законченной после оформления соответствующих документов.
- Нанесенный ущерб, меньший зарплаты рабочего, подлежит полному возмещению.
- Кроме того, с вами встретится наш маг разума.
- Продолжать учить детей составлять рассказы из личного опыта.
- Основы управления интеллектуальной собственностью.
Категория компаньоны — моды для the elder skrolls 5 skyrim.
Компаньон моды на скайрим — myskyrimru. Моды на скайрим орки компаньоны комментарии — onlyvirginsru. Vilja in skyrim скачать npc и монстры — моды на skyrim. Моды для skyrim free-modsru — бесплатные моды и аддоны. Компаньоны и npc fallout new vegas моды — bethplanetru. Girls of skyrim девушки скайрима — разное — tumblr? Моды на скайрим компаньон мелисса — skachivayupart? Реплейсер лидии ионы йордис сераны и еще 5 девушек. Сидит девушка-данмер предлагающая свои услуги компаньона за плату в размере! 3 девушки из термальных источников имеют тела lb. Совместима со всеми плагинами на улучшение компаньонов. Кроме селены существуют ещё компаньоны с телом lb? Произведение: Возобновляемые источники энергии. Любой элемент первичной сети обладает распределенной или сосредоточенной емкостью и индуктивностью. Практическая работа 1 Разметка плоских поверхностей. По результатам проведенных тренировок разрабатываются мероприятия, направленные на предотвращение допущенных персоналом ошибок. Котельные на дизельном топливе должны проектироваться только для нужд АЗС и размещаться, как правило, в отдельно стоящем одноэтажном здании I или II степени огнестойкости классов С0, С1. Далее автор предлагает в ходе мысленных экспериментов решить следующие задачи: Что можно сделать из куска бумаги? Диагностика внутренних и нервных болезней. Лишь Московский архиепископский Совет избирался Освященным Собором. Нам важно мнение каждого компьютерщика. Технологические карты разработали: канд. Участие в коллективном диалоге. Взаимосвязь понятий: протон, нейтрон, массовое число. Что мешает школьной медицине развиваться? При составлении конспекта закладывается основа будущих занятий. Учебный материал предоставляет широкие возможности применения математических методов и моделей для решения задач, возникающих в управлении, экономике, бизнесе, политике, социальных отношениях. Расчетные формулы на растяжение и сжатие. Письменное обращение в РАС можно отправить по почте заказным письмом или передать лично под роспись. Наблюдение за ручейками и сосульками на многоэтажных домах. Почему, можете вы спросить, покупатель просто не уходит в этот момент? ТН нет товарного раздела. Cлайд 14 Преобразование энергии в колебательном контуре Полная энергия электромагнитного поля контура равна сумме энергий магнитного и электрического полей. Правилами, распорядком дня ИУ, проходят инструктаж о мерах пожарной безопасности, предупреждаются об ответственности за нарушения установленного порядка отбывания наказания в ИУ. Хассан не был хорошим аналитиком. Оценивает лояльность и уравновешенность работников, определяет степень доверия к работникам. Качество городской окружающей среды. Так же, как у компьютера, части растения образуют иерархию, каждый уровень которой обладает собственной независимой сложностью. СЧАСТЬЕМ ПОДЕЛИСЬ С ДРУГИМ! Образы пушкинской прозы и поэзии в книжной иллюстрации. Скачать бесплатно и без регистрации. Утилита позволяет провести оценку производительности компьютера в новой ОС Windows 10. Совершенствование организации производства на предприятиях сервиса.
- Скайрим — компаньоны — страница 2 — моды для skyrim — adult.
- Моды для игр скачать бесплатно мод для skyrim компаньоны!
- Небесный замок — дома и локации — skyrim — архив игровых.
- Скачать skyrim мод компаньон ассасин — зеналота?
- Компаньон снуп догг для skyrim — это специальный мод который добавит в игру.
- Tes и пользовательские моды всегда шли рука об руку и skyrim не исключение.
- Моды для fallout new vegas компаньоны и npc.
- Замок удобно использовать в качестве базы для компаньонов.
- Просто ещё раз хочу сказать спасибо за ваш труд — скайрим вас долго не збудет.
- Данный мод на новую спутницу компаньона добавляет красивую девушку с собственной?
- Это дает возможность учителю практически осуществлять дифференцированный подход к обучению ребенка с нарушенным интеллектом.
- Преимущество над ними, которое вы пообещали бы мышам, было бы лишь обещано, но отказаться от такого соблазнительного предложения было бы практически невозможно.
- Информационные системы, используемые в процессах автоматизации деятельности организаций.
- Microsoft Office Communicator 2007.
- Не излеченный в детстве невроз может исказить судьбу человека, отразиться на всей его дальнейшей жизни.
- Сознание человека как исключительно важная, фундаментальная функция является предметом постоянного и непрекращающегося в процессе исторического развития исследования, что отражается в трудах крупнейших мыслителей, ученых.
- Однако, поскольку это в значительной мере усложнило бы восприятие и понимание текста, то, отводя от себя заранее обвинения в сексизме, хочу извиниться, что эти термины будут использоваться исключительно в мужском роде, подразумевая человека вообще.
- Подытожим: сценарии проведения свадьбы в определенном стиле требуют от молодоженов максимально придерживаться того или иного стиля.
- Осуществляет сбор и утилизацию медицинских отходов.
- Движения с парадоксальным дыханием.
- Общие проблемы дошкольной олигофренопедагогики Разработка основных проблем дошкольной олигофренопедагогики ведется в двух направлениях: с одной стороны это формирование всех психических процессов в соответствии с особенностями возраста, с другой коррекция, компенсация и предупреждение вторичных отклонений в развитии.
- Сегодня геоэкономическое пространство определяет облик мировой хозяйственной системы.
- От каждого слоя выемки массой по 1 кг отбирают отдельно.
- ПЕРЕД ПРЫЖКОМ Или попытка автора объясниться, то есть объяснить себя Книжку вообще очень страшно начинать писать.
Компаньоны — моды и плагины для tes vskyrim.
Скайрим моды 1- компаньоны — youtube. Skyrim моды — компаньоны — fansmodru. За что я ненавижу компаньонов. Мод на новых компаньонов в скайриме save — imgur. Skyrim мод компаньон с телом прикосновение дибеллы — top100. Animated_prostitution-5-217z программы. Также проверьте есть ли в вашей папке skyrimdataskse файл skseini а в нём строка! В категории компаньоны вы можете скачать моды для skyrim skyrim моды. Замок удобно использовать в качестве базы для компаньонов. Hd 0129 видео моды skyrim — спутница токката компаньоны. Данный мод добавит в игру компаньона кайдена версия 30 mне нравится 13. Если вы путешествуете с компаньономто при общении с любым npc вы можете. Переписка, перепечатка, редакционная и издательская работа осуществлялись членами общины. Нефть и газ, 1996. Лица, которым запрещено заниматься предпринимательской деятельностью по приговору суда. Эта категория в международном научном лексиконе появилась во второй половине 1980 х гг. Дети из таких семей заметны в коллективе: они отказываются от трудовой деятельности, не могут самостоятельно выполнять задания, теряются при решении простых, казалось бы, задач, в недостаточной степени владеют навыками самообслуживания. Изучить какие вредные вещества входят в продукты питания. Пишется не тот адрес, по которому живет данный гражданин, а тот, который записан в паспорте. Руководство будет в первую очередь полезно всем врачам, производящим ультразвуковую диагностику, ангиологам и сосудистым хирургам. Учить детей ориентироваться в пространстве, правильно выполнять основные движения при беге. Ведет всю необходимую технологическую документацию за свою смену. Только любой люфт должен быть в пределах нормы. При пользовании местными признаками надо иметь в виду, что один признак не всегда гарантирует осуществление прогноза. Пособие предназначено для чтения морских карт и карт внутренних водных путей издания Главного управления навигации и океанографии Министерства обороны СССР. На подготовительном этапе участники высказывают виды и свои варианты игры, проявляя инициативу и творчество. Раствор следует заливать в скважину непосредственно перед погружением сваи. Политический портрет КГБ Название: Мина замедленного действия. Сток поступает в нижний патрубок 1, заполняет внутреннее пространство фильтра, при этом загрузка, имеющая плотность меньше чем у воды, всплывает вверх и поддерживающей сетке 5, таким образом, образуется фильтрующий слой. Промежуточные насосные станции предназначены для поддержания необходимого режима транспорта нефти или нефтепродукта по всей длине магистрального трубопровода. Состав работников предприятия и их классификация. Новинки июля 2011 года. Соотношение звука и буквы. Идентифицировать функцию этих мышц можно с помощью такого приема: во время мочеиспускания следует широко развести ноги и выпускать мочу небольшими порциями. На территории нашей страны тоже каждое племя имело свой тотем. На протяжении многих веков наши предки использовали травы для исцеления от болезней. Утренняя гимнастика на открытом воздухе. Правила безопасности работы в мастерской. Презентация на заданную тему содержит 191 слайдов. Кроме того, самостоятельная проработка вопросов, приведенных в пособии, позволит читателю систематизировать и углубить знания, получить комплексное представление о функциональных возможностях программы, что, в конечном счете, позволит наиболее эффективно использовать ее в повседневной деятельности. Программа разрабатывается и утверждается Организацией самостоятельно в соответствии с настоящим Стандартом и с учетом Примерных программ. Данная рабочая программа предназначена для организации работы с портфолио обучающихся 2 класса в рамках внеурочной деятельности. Но одного стремления, даже основанного на осознании проблем, мало.
Компаньоны и расы — tes v skyrim — каталог.
Компаньоны — tes v skyrim — файлы — modmaximusinfo. Компаньон — the elder scrolls wiki — wikia. Обзор мода skyrim 11 — спутники эрин и сина ashara erin and. Данный мод добавляет милую девушку-некроманта которая может стать вашим компаньоном. Сей мод добавит на просторы skyrim интересного компаньона — понзу. Мод добавляет компаньонов — близнецов мэйр и ноар? Страница 2 из 9 — скайрим — компаньоны — отправлено в моды для skyrim. Компаньонка шияки милая девушка с душой истинного самурая. Характеристики порезали следуя моде установленной в частности. Моды для скайрим и справочные материалы для модмейкеров. Мод добавляет в игру новую девушку-компаньона! От rinn моды skyrim unp реплейсер. Модификация добавляет в игру невероятно красивую девушку которая может. Раскрывается технологическое видение процессов организации фонда, что помогает читателю составить ясное представление о том, каков должен быть конечный результат выполнения работ, какими методами и средствами он достигается. Радуйся, вселения рая небеснаго Руководительнице. Диаграмма изотермического распада переохлажденного аустенита. Горничная начинает пылесосить с самого удаленного от входа угла и постепенно продвигается к входу. Эхографию на первойнеделе задержки менструации следует провести всем женщинам, имеющим повышенныйриск на внематочную беременность. Изучите анатомию рекламного объявления. Самусенко, 1981 и др. Старший мастер участка наделен гораздо большими функциями и обязанностями, нежели простой мастер. Демонстрация друг на друге четырёх приёмов классического массажа. За счет сжигания низкосортной древесины. Выплата платежей производится равными долями ежеквартально. Как бы вы себя чувствовали, если, находясь в шаге от своей мечты, поняли, что она недостижима? Конструкция станков, принцип действия, инструмент. Камера является альтернативной старому методу укладки медицинских инструментов с использованием стерильных простыней. Устное рецензирование выразительного чтения одноклассников. Гражданское право Германии располагает сходной правовой конструкцией, основанной на договоре. ТЕМА ИССЛЕДОВАНИЯ Проблема в ее характерных чертах должна найти отражение в теме исследования. Путешествие Фейрберна в глубины психики. Для трехфазных трансформаторов измерения можно проводить при трехфазном и однофазном возбуждении. Дополнительно будет создано 75 рабочих мест. Всегда при передвижении по лестнице опирайтесь на перила рукой, противоположной прооперированному суставу, и делайте по одному шагу за раз. После этого с интервалом 5 мин животному вводят испытуемый раствор с той же скоростью, с которой вводили гистамин. На этом этапе женщину обязательно обследуют, берут мазки и делают посевы выделений из половых путей для выявления болезнетворных микробов, вызвавших заболевание, и определения их чувствительности к антибиотикам. Однако для этого нужно предварительно пройти процедуру регистрации, а также идентификации личности через удостоверяющий центр или путём получения письма Почтой России. Обусловливание и процессы познания. Величина скачка равна внешней силе, приложенной в этом сечении. МЕТОДИЧЕСКОЕ ПОСОБИЕ Москва 2014 УДК 347. Поступление радиоактивных веществ в организм человека через кожу возможно при открытых ранах и повреждениях. Подвергнутое электростимуляции мясо имеет нежную консистенцию, хорошие естественные окраску и вкус. Алваро Аалто очередная экспозиция.
Компаньоны — плагины и моды для skyrim — каталог модов — tes.
Skyrim мод компаньон вилья — google drive. Моды на скайрим на компаньонов — моториум. Компаньоны для new vegas — fallout new vegas — моды и патчи. Skyrim моды girls — плагин girls of skyrim скачать — социальная. Спутники компаньоны в скайриме очень важная часть спутник компаньон. Компаньоны в the elder scrolls v skyrim напарники которые будут! Похоже что девушка захотела побыть в одиночестве. Скачать бесплатно эротические моды для skyrim 18. На нашем сайте компаньоны для игры skyrim ставятся в игру. Этот мод для skyrim добавляет в игру нового компаньона мальчика вампира. Молодая девушка из солстейма решает отправиться в скайрим чтобы. Этот мод добавит в скайрим нового компаньона мод добавляет в данстарское. Страпоны для девушек — skyrim strap ons cbbe-unp-unpb. Девушка владеет хорошо магией и навыками воина. Это самый спорный из всех убеждающих методов. Эти песни могли быть средством обличения, общественного порицания, насмешливой критики. Города Эллады подчиняются Македонии. Теперь непоседливые красавцы будут позировать вам столько времени, сколько потребуется, и новые живые рисунки будут появляться на свет с минимальными усилиями. Книга из раздела: Учебная литература, Юриспруденция, право, Книги, Литерат. РПН должно быть защищено от непосредственного соприкосновения с окружающим воздухом. При производстве ремонтных дноуглубительных работ в акватории предприятия, а также при отвозке извлеченного грунта на подводный отвал должны выполняться требования по охране окружающей среды и рационально использоваться места, отведенные для отвала. II категории от одного трансформатора Для электроприемников III категории электроснабжение может выполняться от одного источника питания при условии, что перерывы электроснабжения, необходимые для ремонта или замены поврежденного элемента системы электроснабжения, не превышают 1 сут. Это ученое собрание состоялось в полтаве долга, в случае, когда процентные деньги домашнее задание и разберётесь с этим. Приказом ГУГПС МЧС РФ от 23. Онитут же стремятся вознаградить малыша эмоционально и ждут ответной улыбки. Ответы на вопросы помещайте в клетках. Заселение края и образование городов. По степени сложения песок является плотным, по степени морозоопасности непучинистым. Письмо слогов и слов с этими буквами. Свисток парохода сопровождается видимым появлением клубов пара. Президента РФ, постановлений и распоряжений Правительства РФ и решений региональных и муниципальных органов управления образованием. Уж не на себе ли? Вероятно, еще не до конца осознана важность этого направления естествознания вообще и медицины в частности. Это основная форма коллективной работы учителя с семьями учащихся. Честно говоря, Ира, я и сам к этому причастен. Рассмотрены теоретические основы эксплуатации магистральных. Кодекса Республики Беларусь об административных правонарушениях, протоколы о совершении которых составлены должностными лицами таможенных органов. Уже на следующий день после знакомства он пригласил меня пообщаться. При этом особая необходимость как оценочная категория не получила специальной правовой характеристики и, как следствие, Глава государства в каждом конкретном случае по своему усмотрению решает вопрос о том, имеется ли особая необходимость в издании временного декрета. Хочешь быть бортпроводником будь им! Римская литература, золотой век поэзии. Коротич, в отличие от общепринятого мнения, не менял своих убеждений. Тот согласился с резонностью соображений последнего.
Компаньоны плагины и моды для skyrim tesallru.
Каталог файлов — компаньоны — modgamesnet. Скачать моды на компаньонов и красивых спутниц скайрима! Часть ii — fullrest. Скайрим компаньоны данмеры advodkacom. Мод на красивую спутницу в скайриме без вирусов — vashfartru? Моды и плагины на компаньонов для skyrim. Моды в разработке 44 tes v skyrim 3947 tes iv oblivion 555. Ps открыта группа в вк на перевод компаньона иниго команда собрана. Этого мода могут работать некорректно например вилья будет. Вилья 41 — девушка компаньон с оригинальными квестами. То ли девушки по игре вы попали в нужную категорию. 2 новых компаньона — люмина. Большого внимания требует отработка приема перемены направления движения на склоне, который производится способом поворота кругом, стоя спиной к склону. Изучение оборудования и процессов товародвижения предприятия оптовой торговли. Книжный магазин с доставкой курьером или Почтой России. Выделим затраты Зу через себестоимость. Несовершеннолетним, совершившим преступления, может быть назначено наказание либо к ним могут быть применены принудительные меры воспитательного воздействия. Устные нормы содержатся лишь в обычном праве. Краснодарского края, в 153 километрах от города Краснодара и входит в состав Краснодарского края. Информация стала товаром, который можно приобрести, продать, обменять. Бог сокровенен, Его никто не видит, поэтому говорят, что Он за облаками, во мраке. Если я шла впереди, я сознавала, что не могу видеть тех, кто идет позади меня. Экспертные оценки: взгляд с практической точки зрения. ББК занимает особое место. Это одна из очень важных сторон процесса формирования личности ребенка. Образцы документов Другие документы Штатное расписание. Общие сведения об объекте. При совершении лицом двух и более административных правонарушений административное наказание назначается за каждое совершенное административное правонарушение. Если же по определенному сигналу или изменению обстановки следует изменить действия, то такая реакция называется реакцией с переключением. Это сензитивный период для формирования познавательного отношения к миру, навыков учебной деятельности, организованности и саморегуляции. На сайте размещён каталог наиболее содержательных, с точки зрения авторов сайта, образовательных, научных и информационных ресурсов. Подготовка выкружной пилы к работе. Но и Россия для Арктики крайне важна и во многом определяет политическую погоду в регионе. Для расчета ширины нижней части фартука. ЕПГУ; в предоставлении государственной услуги в случае, если заявление и документы, необходимые для предоставления государственной услуги, поданы в соответствии с информацией о сроках и порядке предоставления государственной услуги, опубликованной на ЕПГУ. Выполнение газосварочных и электросварочных работ на действующих газопроводах во всех положениях. Характеристика здравоохранения как социальной отрасли, с одной стороны, затрудняет внедрение современных методов в управление медицинскими организациями, поскольку требует точного разделения целевого и ценностного аспектов в их деятельности. Осуществляет выполнение перевозок по договорным обязательствам, обеспечивает технически правильную эксплуатацию автомобилей, эффективное использование подвижного состава. Комиссии Таможенного союза о его принятии. ДОМ всего три звука. Они, наоборот, являются следствием депрессии. Рассматривает рационализаторские предложения по совершенствованию технологии производства и дает заключения о целесообразности их использования. Классификация процессов и предметов как совокупного объекта управления Нематериальные предметы как объекты управления также часто бывают неотделимы от процессов, с ними связанными.
The elder scrolls 5 skyrim вероника — имперская девушка.
Компаньоны для skyrim с автоматической установкой. Человеческие монстры компаньоны для tes v skyrim — скачать! Очередная спутница девушка для вашего персонажа с очаровательным голосом эмма может исцелить вас и вашего компаньона при большой. Некоторые компаньоны не поднимаются выше 40 некоторые растут. Новый мод позволяющий добавить в игру скайрим ретекстур? Не забываем подключить моды в лаунчере мод с изменением опустить ниже. Скачать файлы модов the elder scrolls v skyrimстатьи о модах the elder scrolls v skyrim. Извлеките файлы из архива в папку skyrimdata 2. 3 xrjh re unp unpb-bbp тела для девушек skyrim — all-. Решение абсолютно нового класса задач становится настоящим открытием для младшего школьника и позволяет расширить представление о математике, как методе прикладного значения. На другой день, когда они вышли из Вифании, Он взалкал; и, увидев издалека смоковницу, покрытую листьями, пошел, не найдет ли чего на ней; но, придя к ней, ничего не нашел, кроме листьев, ибо еще не время было собирания смокв. Селенистая кислота и ее соли действуют сильнее, чем селеновая кислота и ее производные. Может быть полезно практическим работникам образовательных учреждений и органов управления образованием. Первая книга о передвижниках, вышедшая в России. Понятие, сущность инвестиций и их квалификация. Агрономия: учебник для студ. Литература, список которой приводится в конце книги, позволит студентам более подробно ознакомиться с излагаемым в учебнике материалом. Она позволяет определить обобщающие показатели развития отраслей, секторов и институциональных единиц на различных стадиях процесса воспроизводства и взаимно увязать эти показатели между собой. Переводчики с функцией голосового ввода данных отличаются высоким уровнем комфорта и эффективности, ведь значительно удобнее не набирать текст вручную, а просто произнести. Иногда могут потребоваться другие виды документов. Обеспечивает показатели пожарной опасности Г2, В1, РП1. Статья 22 Федерального закона от 30. Правительства Российской Федерации от 01. Расстройства развития школьных навыков. Тест покажет скорость входящего и исходящего каналов. Не забывайте выключать газовую плиту. Удобство в использовании, качественное выполнение основных функций. Возьмем 2 планки Kingston HyperX FURY Red по 16 Гб и твердотельный накопитель Plextor M8SeY на 512 Гб. Координирует работу мастеров и цеховых служб. Обзор изданий по электронике. Направление на медицинское освидетельствование. Они встречаются несколько реже вышеперечисленных типов. Особенно заметна тенденция к снижению нелинейных искажений. Реорганизация и ликвидация юридического лица. Правильно организованный производственный процесс предусматривает эффективное и рациональное использование труда рабочих, машин и аппаратов, производственных площадей с целью увеличения объема оказываемых услуг, сокращения срока выполнения заказов при одновременном снижении затрат на производство. Современный человек, утомленный падшим и разлагающимся бытием, пленяется небытием. Понятие и признаки права. Экспериментальному определению в общем случае подлежат параметры основного и нежелательных радиоизлучений. Но сложная деятельность, какой является педагогическая, обычно вызывается несколькими мотивами, различающимися по силе, личной и социальной значимости. МТр, либо не рассматривается вообще, либо изучен крайне недостаточно. Прогрессивная технология слесарного дела. ГК распространяются на самовольную реконструкцию недвижимого имущества, в результате которой возник новый объект. Требовательность должна быть постоянной, справедливой, одинаковой ко всем, уважительной.
Компаньоны и персонажи — anvilbay.
Моды для skyrim плагины для skyrim моды для skyrim. Переодеваем напарников elder scrolls v skyrim the игры. Мод the elder scrolls 5 skyrim вероника — имперская девушка. Mod небесный замок rus — сообщество империал. Мод добавляет в скайрим новую автономную игровую расу нефилим. Новые спутники компаньоны и маунты для skyrim данный мод добавит игру новую полностью автономную спутницу кристен девушка отлично. Моду вы сможете получить себе в помощницы великолепную девушку? Skyrim сделаем девушек лучше. Скачать мод люкс апартаменты купающиеся красавицы для tes v skyrim компаньоны. Имеется встроенный в мод strap-on страпончтобы женские персонажи могли. Значительно возрастают возможности социального функционирования. Радио и связь, 1981. Оформлять портфолио и пояснительную записку к творческому проекту. Лучше еще раз проверить, чем допустить грубую ошибку. Сайт обо всем на свете. Размер земельного участка муниципальных дошкольных образовательных организаций, муниципальных общеобразовательных организаций, организаций отдыха детей и их оздоровления установлен согласно требованиям приложения Ж СП 42. Катя стала с ней играть. Индивидуализация подготовки квалифицированных теннисистов в зависимости от особенностей стиля деятельности: Автореф. От паровоза до магнитоплана. Внимательно прочитайте все 22 пункта и проставьте галочки напротив тех обстоятельств, которые соответствуют вашему маневру в момент ДТП. Определение суда или судьи о продлении или сокращении процессуального срока выносится с извещением юридически заинтересованных в исходе дела лиц. Учитель: На прошлом уроке, ребята, мы узнали, что такое гимн и познакомились с двумя: древнегреческим Гимном Природе и Государственным гимном Российской Федерации. Гэвин Стивенс, она обречена на неудачу. Эсеры, требовавшие войны с немцами, приняли слова Троцкого на свой счет. Волгоград: ИУНЛ ВолгГТУ, 2012. На медленном выдохе пальцем или всей ладонью прерывать воздушную струю так, чтобы получился звук ветра, клич индейца, свист птицы. Не способен прогнозировать поведение людей на относительно продолжительный период. Формировать первичные представления о себе, других людях. Дети стараются определить, какая это птица, и назвать ее. Эрнест Джонс первым из авторов психоаналитического толка изобразил наиболее явно грандиозный тип нарциссической личности. Кодекса Республики Беларусь об административных правонарушениях, протоколы о совершении которых составлены должностными лицами органов Министерства юстиции Республики Беларусь. Обучение включает процессы смыслообразования, смыслопорождения и смыслотворчества. Схема работы потока и график работы машин приведены на рис. Онищенко 15 января 2008 года. Эти результаты подтверждены также инклинометрическими измерениями ИФЗ РАН. Но потенциал как самого интересного по соотношению цены и характеристик гибрида года у новинки определенно есть. Одни рецептуры содержат норму закладки соли, другие нет. XVI столетием расширилась за счет включения новых земель Сибири, Южного Приуралья и Левобережной Украины, дальнейшего освоения Дикого поля. Заканчивайте палсингом волос и кожи головы пальцами. Позволяет измерить психофизиологическое состояние человека, его стрессоустойчивость, активность и коммуникативные способности. Они бегали по траве и при этом громко кричали, дразнили друг друга, чем очень донимали нашего дедушку. АЗС запрещается предусматривать помещения для проведения огневых и сварочных работ. От каких параметров зависит погрешность базирования охватываемой и охватывающей поверхностей?
Эротическое знакомство очень красивый трах
Девушки красивые знакомство
Нет проблемы заплатить за такси, или там в квест комнату сходить оплатив счет. Но таскаться по ресторанам, или кино с театрами — это треш. Потом, на свиданку можно лазить по подобным заведениям. Но идти туда, где ваш рот занят едой. Особенно если у вас их условно много. Да и если у вас их много, женщины и так липнут. Если условно мало, то вас на долго не хватит, нужно перелопатить кучу шлака, и в каждую вкладываться — глупость.
Мой бюджет — это около баксов на свидание. Даже если это по 3 матча в неделю, на которые действительно идешь, то за месяц набегает очень заметно как для среднестатистического мужика, ибо 1 матч, это как правило не одна встреча. Если дама ноет про нищебродство — это просто очередная из выше перечисленных особ, и ее услуги как проститутки — слишком дороги и не качественны, а в остальном она полный ноль, это не партнер для жизни. Если вам нужно домашнее животное — заведите себе кота.
Бесплатные сайты знакомств, вообще, существуют? Ребят, поделитесь, пожалуйста!
Он умнее, и меньше шипит. Партнерство не предполагает содержанство. Знаете, я когда-то очень давно думал, что это предвзятость, и вообще создает гипер спрос на молоденьких. Но как показала практика, выделываются все — одинаково, а проблемы с бывшими папами, и их детьми — нафиг они нужны. Как не крути, но женщины за 30 — это в большинстве своем печаль.
И если у вас цель не только секс, то стоить отношения с такими — просто губить себя. Раньше говорили про 30 лет, но я подвинул до 32, ибо все же современный мир довольно бережно относится к дамам, продлевая их молодость в теле и голове. Жестко и расчетливо? И что? Интересно, а с кем строить отношения мужчинам за 50 — с летними? Какой летней девушке нужен мужик 50 лет и какие у них могут быть общие интересы? Она сидит в тиктоке, он смотрит концерт по телевизору, она идет в клуб, он на посиделки с друзьями. Он вспоминает свое советское детство и восхищается актерами того времени, а она сидит в телефоне.
Вероятно, Тиндер больше развлечение для более молодой аудитории. Подчеркну — развлечение, а не место для поиска серьезных отношений. Люди старшего возраста, конечно, тоже могут знакомиться и строить успешные отношения и лучше в реальности, в своей же среде — посещать интересные мероприятия, где собираются люди того же круга концерты, спортзал, мастер-классы, танцы, театр и т.
Leo Uvarov. Ware Wow. Алина, милая если вы все-таки девушка , откуда Вы взяли эти убогие цитаты? Этим правилам лет 40 в обед и они давно устарели. Напишите апдейт, пожалуйста, с поправкой на реалии г.! Будет реально интересно почитать!
Там почти все написано адекватное, не могу судить за девушек старше 32, но и девушек с ребенком тоже не охота выбирать. А вот насчет поцелуев и секса, вполне согласен.
Ну зачем ходить месяцами и не чувствовать, что ты нравишься? Ну и была благополучна забыта на 4 дня, а потом написала с притензиями, что о раз ты не пишешь то все. Ну и ладно, а на свидания ходить весело, хоть я может и «домосед». А так как ни крути опыт. Как вам например девушка-алкоголик которая позвала на квартиру на втором свидании, а потом пришли ее друзья и они стали распивать вино и она тоже, даже без закуски честно, не рассматривал ее для отношений особо, думал просто переспать, а там как пойдет но такое оказалось слишком для меня и я сбежал оттуда, ни выпив ни грамма.
Куда с ним целоваться?
Секс, деньги и интимные фото: тестируем сайты знакомств на себе
Красивые Девушки Знакомства. likes · 4 talking about this. Personal Blog. Красивые девушки + Знакомства. Информация. Кидайте свои фотки в предложить новость и пишите с кем хотите.
Это омерзительно. Если вам нравятся такие девушки, то не удивляетесь, что они потом на другого кого-нибудь прыгнут, с кем у них возникнет секундная симпатия. Тут есть одно но. Девушка как и парень понимают, что они уже в отношениях и никаких интрижек уже ни с кем другим не крутят. И поэтому она и он не будут прыгать на других. Я конечно говорю о нормальных девушках и парнях. И стоп?
Ты пошла на второе свидание с парнем с которым тебе целоваться омерзительно? Тогда это уже с тобой что-то не так.
В отношениях с человеком, которого ты видишь второй раз? Я не «пошла на свидание с парнем, с которым мне омерзительно целоваться»- мне нужно время, чтобы привыкнуть к любому человеку, а не к какому-то конкретному. Как и большинству женщин, не склонных к промискуитету. Раз вы не в отношениях тогда и прав нет никаких нет — девушка может встречаться и делать все что хочет как и парень. У меня есть дела важнее, чем тратить время на девушку, которая долго привыкает, чтобы просто поцеловаться. Два три свидания без продвижения по стадиям и общение лучше прекратить.
Лучше сразу найти того человека с которым будет легко. Слава богу нет с этим проблем, почти все девушки не были против поцелуев уже на втором-третьем свидании. Да что там насчёт поцелуев? Мои мама с папой на первом свидании поцеловались.
Я новый пользователь
И живут уже вместе 36 лет. Мало того они заявление в ЗАГС подали через две недели что по сути удача, вот это я не рискну делать и советовать тоже не буду :.
Меня лично ничего так не отпугивает, как мужчина, который сразу лезет трогаться и целоваться. Знаешь, от измен никто не застрахован, мужу моей сестры первая жена изменила и ушла к турку через 7 лет. Хотя была нецелованная девственница. Ах, сколько же несчастных мужчин и обманутых надежд Даже не подозревала, когда писала эту статью.
Нашел через тиндер то, что искал — партнера для жизни. Стройная, без детей и проблем, 30, без забубонов и необоснованных запросов, голова не болит, и вообще все хорошо. ТАк что да, если говорить о сути Вашей статьи, то тиндер из моей субьективной практики — наиболее рабочий вариант на конец Вам повезло, «Алина», поздравляю! Pavel One. Дмитрий Белушевич.
Женщины в тиндере — это социальная некондиция. Они могут быть, даже, и умными, и красивыми, но в них будет обязательно какой-то баг, который делает их одинокими, несчастными, ищущими, что и приводит их, по итогу, в тиндер. Если девушка, условно-идеальна, она за очень редким исключением будет одинока и просто не дойдёт до тиндера.
И точно там не задержится. Остальные там стареют потихоньку, пописывая паралельно язвительные пасквили на женских форумах и пабликах. Лав саксес стори из тиндера это либо нишевость когда недостатки обоих удивительным образом дополнили друг друга , либо ошибка выжившего. Но как раз эти сайты хорошо отображают со стороны тех кто ходит по тем же улицам и с кем по их заявлениях не знакомятся чет ни где, хотя они красавицы прям налетай. Задетектив в реале подобные принципы общения, сразу станет ясно что за тараканник в черепной коробке.
Всем жалобщикам я бы ответила разом: никогда не задумывались, что женщины вокруг вас — это отражение вас самих? Если они недотягивают до идеала или у них тараканы, то дотягиваете ли вы и сколько тараканов в вашей черепушке? Мне хватило ума это понять.
[Обновление] Lords Mobile Kingdom Wars Bot V1.1.0 для поддержки всех разрешений, оптимизации этапов героев и многого другого!
Lords Mobile Bot ( Lords bot ) обновлен до V1.1.1 для всех уровней разрешения, героев и некоторых известных ошибок! Lords Mobile Bot может автоматически выполнять квесты, обучать войска, проводить исследования, улучшать здания, проходить этапы героя и более плавно собирать ресурсы . Это значительно сокращает время и силы игроков. Загрузите Lords Mobile Bot и наслаждайтесь им СЕЙЧАС!
Что нового в Lords Mobile Kingdom Wars Bot V1.1.0?
1. Приключение героя: совместимо с Challenge;
2. Приключение героя: исправлены некоторые известные проблемы, из-за которых невозможно было выполнить вызов или нормально зациклиться;
3. Улучшайте здания: новый метод улучшения в соответствии с маршрутом улучшения замка;
4. Сбор ресурсов: совместим с 2 и более армиями;
5. Совместимость с полным разрешением
Как использовать бот Lords Mobile Kingdom Wars на устройствах Android?
* Мобильный бот Lords (бот Lords) Требования:
— Android 7.0+ Операционная система
— Язык: английский
Для игроков под Android 7.0, пожалуйста, проверьте этот метод, чтобы исправить это: Запуск игровых ботов на виртуальной машине Android или эмуляторе ПК
Шаг 1: Загрузите и установите игровых ботов.
Шаг 2: Откройте Game Bots и получите Lords Mobile Bot.
Шаг 3: Выберите Lords Mobile Kingdom для бота, а затем нажмите «Авторизовать сейчас», чтобы разрешить мобильному боту Lords работать с приложением Lords Mobile.
Шаг 4: После возврата в приложение Game Bots.
Шаг 5: Снова нажмите «Авторизовать».
Игровые боты и мобильный бот Lords нуждаются в разрешении телефона для работы над игрой, и это безопасно. Если у вас есть сомнения, проверьте, зачем игровым ботам нужны разрешения телефона?
Шаг 6: Мобильный бот Lords автоматически открывает игру и затем нажимает на плавающий значок.
Шаг 7: Выберите уровень замка, на котором вы находитесь [Основная функция].
Шаг 8: Настройте Lords Mobile Bot для своей игры в [Основная функция].
Для первого использования мы предлагаем запустить Lords Mobile Bot по умолчанию и посмотреть, как он работает. И настройте Lords Mobile Bot под свои нужды. Если вам нужен учебник, проверьте [О программе] для получения подробной информации.
Настройка мобильного бота Lords (Lordbot) в [Основная функция]
[О программе] в Lords Mobile Bot (бот Lords)
Шаг 9: Нажмите «Выполнить», чтобы выполнить Мобильный бот Lords (бот Lords).
Шаг 10: Подождите немного, и мобильный бот Lords (бот Lords) автоматически выполнит квесты, улучшит здания, приключения героя (нормальный или элитный режим), сбор ресурсов и многое другое за вас.
Коснитесь плавающего окна, чтобы при необходимости остановить Lords Mobile Bot (бот Lords).
Обратная связь
Если вам нужна помощь, свяжитесь с нами: [email protected]
404 Not Found
404 Not FoundЗапрошенный URL / ~ sbuss / researchweb / poolhard / paper.pdf не найден на этом сервере.
Наиболее частые причины этой ошибки:
- Вы неправильно ввели URL-адрес, к которому вы пытаетесь получить доступ. Тщательно проверьте орфографию, пунктуацию и чувствительность к регистру URL-адреса и повторите попытку.
- Файл или каталог, к которому вы пытаетесь получить доступ, больше не существует или был перемещен в другое место.
Информацию о веб-сайтах класса можно найти в списке веб-сайтов класса по адресу http://www.math.ucsd.edu/resources/course-websites/.
Для других веб-страниц, пожалуйста, начните с веб-сайта верхнего уровня математического факультета UCSD по адресу http://www.math.ucsd.edu/.
Чтобы связаться с администраторами веб-сервера, отправьте электронное письмо по адресу [email protected].
Чтобы мы могли должным образом устранить проблему, включите:
- Точный URL-адрес, который вы пытаетесь получить, указан в вашем веб-браузере:
REQUEST_URI = http: // www.math.ucsd.edu/~sbuss/researchweb/poolhard/paper.pdf - Предыдущая ссылающаяся веб-страница или ссылка, которая привела вас к этому URL-адресу:
HTTP_REFERER = (нет) - Полное имя используемого вами веб-браузера, включая номер его версии:
HTTP_USER_AGENT = Mozilla / 5.0 (X11; Linux x86_64; rv: 33.0) Gecko / 20100101 Firefox / 33.0 - Любые сообщения об ошибках или подробное описание возникшей проблемы.
- Название вашей операционной системы, включая номер ее версии.
- Текущий IP-адрес или имя хоста вашего компьютера:
REMOTE_ADDR (REMOTE_HOST) = 91.193.179.168 ((нет)) - Точная дата и время, когда вы столкнулись с проблемой:
DATE_LOCAL = среда, 18 августа 2021 года 01:11:09 PDT
Методы линейной реконструкции в JSTOR
АбстрактныйВ этой статье мы анализируем частный пример общей структуры, разработанной в [A.Harten, SIAM J. Numer. Anal., 33 (1996) pp. 1205-1256], случай, в котором оператор дискретизации получается путем взятия локальных средних значений по отношению к функции шляпы. Мы рассматриваем класс процедур реконструкции, которые подходят для этой настройки с несколькими разрешениями, и описываем связанные с ними операторы прогнозирования, которые позволяют нам подниматься по лестнице от грубого к более точному уровню разрешения. В Части I мы используем методы (линейной) реконструкции, не зависящие от данных, в качестве инструмента аппроксимации.Мы показываем, как получать кратные преобразования в ограниченных областях, и анализируем их устойчивость по отношению к возмущениям.
Информация о журналеSIAM Journal on Numerical Analysis содержит исследовательские статьи по разработке и анализу численных методов, в том числе их сходимость, стабильность и анализ ошибок, а также связанные результаты в функциональный анализ и теория приближений. Вычислительные эксперименты включены также новые типы числовых приложений.
Информация об издателе«Общество промышленной и прикладной математики является ведущим международная ассоциация прикладной математики и ее публикации мог бы стать ядром адекватного собрания по математике. Один из Целями этой организации является обеспечение обмена информацией между университет и промышленность стали более гладкими. Он превосходно выполняет эту задачу и многие из ведущих академических институтов мира являются его членами.» — Журналы для библиотек, восьмое издание, 1995, Р. Р. Боукер, Нью-Провиденс, Нью-Джерси Общество промышленной и прикладной математики (SIAM), штаб-квартира в Филадельфии, была основана в 1951 году для продвижения применения математики в науку и промышленность, продвигать математические исследования и предоставлять средства массовой информации для обмена информацией и идеями между математики, инженеры и ученые. SIAM имеет обширную программу публикаций в прикладных и вычислительных математика, в том числе 11 престижных исследовательских журналов.Для полного описание наших журналов и недавно анонсированных SIAM Journals Online, доступ http://www.siam.org/.
Структуры показывают, что митохондриальный унипортер Ca2 + контролируется MICU1-MICU2
MICU1 содержит три домена (Wang et al., 2014): N-долю и C-долю, которые содержат его сайты связывания Ca 2+ , и N-концевой домен, который мы называем доменом унипортерного взаимодействия. (UID) (Рисунок 3A). UID опосредует все наблюдаемые взаимодействия с каналом.UID состоит из трех α-спиралей (α1, α2, α3) и небольшого β-листа, образованного нитями β1, β2 и β3 (рис. 3A). Остатки на α1 и α2 и крутой поворот, соединяющий эти спирали в Pro 124, непосредственно контактируют с поверхностью IMS канала (рис. 3D, F – G).
UID и его рецепторный сайт.
( A ) Доменная архитектура MICU1.Мультяшное изображение, раскрашенное по субдоменам. Сферы указывают положения Cα аминокислот, которые будут связывать Ca 2+ в EF-hands EF1 и EF4. ( B ) Интерфейс UID-рецептор. Показано полупрозрачное изображение MCU и EMRE в виде карикатуры на поверхности при просмотре с IMS. Контур отмечает границы интерфейса UID с каналом. α1 и α2 UID показаны зелеными лентами. ( C ) Крупным планом вид рецепторного сайта с остатками, которые взаимодействуют с UID, изображенными в виде палочек.( D ) Крио-ЭМ плотность и взаимодействия в устье поры IMS. Показана область интерфейса между MICU1 и кольцом D (MICU1, зеленый; MCU, желтый) с плотностью, изображенной в виде полупрозрачной поверхности. Пунктирные линии показывают водородные связи. ( E ) Мутагенез UID и влияние на митохондриальный захват Ca 2+ . Указанные мутанты человеческого MICU1, полученные на фоне нарушенных доменов EF-hand (EF), временно экспрессировались в нокаутных клетках MICU1, и поглощение количественно оценивали относительно контрольных значений MICU1 дикого типа (WT) и нарушенных EF-hand (EF) контролей.Вестерн-блоттинг демонстрирует экспрессию. «-Ve» указывает на нетрансфицированные клетки. (Среднее ± стандартное отклонение, независимые эксперименты: n = 6 для контролей WT и EF и n = 3 для остальных. t-критерий Стьюдента p — значения для мутантов относительно конструкции EF, рассчитанные с использованием двустороннего распределения с метод неравной дисперсии). ( F и G ) Представления, показывающие взаимодействия сайта UID-рецептор (палочки). Остатки MICU1 выделены курсивом.
Связывание UID идентифицирует рецептор для MICU1 на поверхности канала (рис. 3B и C).Рецептор относительно плоский и охватывает три субъединицы MCU и одну субъединицу EMRE. Составляющие его аминокислоты (остатки MCU: Trp 255 B , Tyr 258 A&B , Ser 259 B , Asp 261 A, B и D и Ile 262 A&B , и остаток EMRE Leu 92, фиг. 3C ) консервативны среди каналов многоклеточных животных и идентичны между каналами человека и жука (Рисунок 1 — приложение к рисунку 1A – B, рисунок 1 — приложение к рисунку 2). За исключением отсутствия EMRE 4, конформация рецепторного сайта неотличима от нелигандированных конформаций комплексов MCU-EMRE как у жука, так и у человека (Рисунок 1 — приложение к рисунку 2; Wang et al., 2020; Wang et al., 2019).
Спираль α1, являющаяся N-концевым концом упорядоченной области MICU1, расположена горизонтально на рецепторе, где она контактирует с одной субъединицей EMRE (EMRE 1) и двумя субъединицами MCU посредством набора ван-дер-ваальсовых взаимодействий и водорода. облигации (рис. 3B, F – G). Взаимодействующие остатки на α1 (Phe 106, Arg 107, Lys 110, Val 111, Tyr 114, Arg 117 и Tyr 121) идентичны в MICU1 жука и сохраняются среди животных (фигура 3 — приложение к рисунку 1B).
Гидрофобное взаимодействие между Phe 106 α1 и концом IMS трансмембранной спирали EMRE на Leu 92, которое также является высококонсервативным (рис. 1 — приложение к рисунку 1B), составляет единственный контакт, наблюдаемый между MICU1 и EMRE (рис. 3G). Хотя это и не видно по плотности, MICU1 и EMRE могут также взаимодействовать электростатически — кислая C-концевая область EMRE и основная область, предшествующая α1, которые неупорядочены, участвуют в связывании (Hoffman et al., 2013; Tsai et al. ., 2016) и будет в непосредственной близости. Соседняя консервативная основная поверхность MICU1 может быть еще одной точкой контакта для кислотного хвоста EMRE (рисунок 3 — приложение к рисунку 2).
Устье поры координируется Lys 126 и Arg 129 от α2, а Ser 122 α1-α2 поворачивается через сеть водородных связей, которая включает три из четырех остатков MCU-Asp 261 кольца ‘D’ ( Рисунок 3D, F). Это подтверждает предыдущую гипотезу о том, что кольцо «D» участвует в связывании MICU1 (Paillard et al., 2018; Филлипс и др., 2019). Остатки MICU1, участвующие в сети водородных связей (Tyr 114, Ser 122, Asp 125, Lys 126, Arg 129 и Asp 169), являются консервативными (Рисунок 3 — приложение к рисунку 3), но ни один из них, как предполагалось ранее, не опосредует взаимодействия с канал (рисунок 3 — приложение к рисунку 4).
Чтобы оценить функцию взаимодействующих остатков и оценить их важность и актуальность для контроля полноразмерного канала MCU-EMRE человека, мы оценили митохондриальное поглощение Ca 2+ , когда белки дикого типа и мутантные белки MICU1 экспрессировались в человеческом MICU1. нокаутные клетки.Как и ожидалось, устойчивый митохондриальный захват Ca 2+ наблюдался, когда был экспрессирован MICU1 дикого типа, и поглощение подавлялось мутациями в Ca 2+ -связывающих EF-руках MICU1, которые заставляют его конститутивно ингибировать канал (рис. 3E). , Рисунок 3 — приложение к рисунку 5; Kamer, Mootha, 2014). Остатки, которые, как наблюдали, взаимодействуют с MCU или EMRE, снимают это ингибирование при мутации в аланин. Это включает не только Lys 126 и Arg 129 из MICU1, которые взаимодействуют с кольцом «D», но также аминокислоты, которые взаимодействуют с MCU и EMRE на расстоянии от поры (например,г. Phe 106, Arg 117 и Tyr 121). Lys 126 кажется особенно важным — единственная мутация K126A по существу устраняет ингибирование с помощью MICU1. Эти исследования подтверждают структурно наблюдаемое взаимодействие и указывают на его важность для управления полноценным человеческим каналом.
Области UID, которые взаимодействуют с каналом, отсутствуют в MICU2 или MICU3 (рисунок 3 — приложение к рисунку 1). Спираль α1, консервативный Pro 124 в изгибе между α1 и α2 и остатки, которые взаимодействуют с кольцом «D», уникальны для MICU1.Это объясняет, почему MICU1 отличается от MICU2 и MICU3 своей способностью взаимодействовать с MCU / EMRE, и объясняет наблюдение, что MICU2 и MICU3 выполняют неизбыточные роли по сравнению с MICU1 в регулировании канала (Kamer and Mootha, 2014 ; Patron et al., 2014; Patron et al., 2019; Payne et al., 2017; Xing et al., 2019).
Взаимодействие с порами напоминает взаимодействие между μ-конотоксином KIIIA, небольшим блокирующим поры пептидным токсином, обнаруженным в яде конусной улитки, с внеклеточной поверхностью нейрона Na v 1.2 (Pan et al., 2019; Zhang et al., 2007; рисунок 3 — приложение к рисунку 6). Короткая α-спиральная область токсина расположена горизонтально у входа в поры Na v 1.2, аналогично связыванию α2 спирали MICU1 с унипортером. Как и в интерфейсе UID-uniporter, остатки аргинина и лизина, разделенные одним витком α-спирали токсина, координируют кислотные аминокислоты на входе фильтра селективности (рис. 3D и рис. 3 — приложение к рисунку 6).Связывание токсина немного смещено от центра, так что две из четырех аналогичных кислотных аминокислот скоординированы, а поры полностью не закупорены — тем не менее этот токсин блокирует примерно 90% потока Na + через канал (Zhang et al. , 2007; рисунок 3 — приложение к рисунку 6). UID взаимодействует с тремя из четырех аминокислот с ‘D’ -кольцом в устье поры унипортера, и закупорка поры более обширна, чем наблюдаемая для Na v 1,2 μ-конотоксином KIIIA (Рисунок 2, Рисунок 3 , Рисунок 3 — приложение к рисунку 6).Структура холокомплекса и его сходство с блокирующим поры токсиновым комплексом указывают на то, что связывание MICU1 ингибирует поток ионов Ca 2+ , как препятствуя входу IMS в поры, так и экранируя отрицательный заряд кольца ‘D’. за счет координации с основными аминокислотами.
Крио-ЭМ структура уреазы патогена Yersinia enterocolitica
Введение
Уреазы — это никель-металлоферменты, вырабатываемые растениями, грибами и бактериями, но не животными.Они способствуют фиксации азота за счет метаболизма мочевины, но у некоторых патогенных бактерий они выполняют двойную функцию и потребляют аммиак, способствуя выживанию в кислой среде. Эта функция жизненно важна во время инфекции хозяина, когда бактерии должны выжить при низком pH желудка (Gripenberg-Lerche et al ., 2000) и фагосом в клетках хозяина (Young et al ., 1996; Maroney & Чюрли, 2014). Актуальность уреаз на ранних стадиях инфекции делает их привлекательными мишенями для новых антимикробных препаратов.
Уреазы катализируют расщепление мочевины на аммиак и карбамат со скоростью от 10 14 до 10 15 раз быстрее, чем некаталитическая реакция (рис. 1a) , и, возможно, являются наиболее эффективными гидролазами (Maroney & Чюрли, 2014). На второй некаталитической стадии карбамат самопроизвольно гидролизуется с образованием другой молекулы аммиака, а также одной молекулы бикарбоната (Mazzei et al ., 2017). Уреаза бобов джек была первым кристаллизованным ферментом, свидетельствующим о том, что ферменты являются белками (Sumner, 1926), и была первым металлоферментом, который, как было показано, использовал никель в своем активном центре (Dixon et al ., 1975). Все уреазы, охарактеризованные на сегодняшний день, имеют общую архитектуру своего активного центра (Kappaun et al ., 2018). Два иона Ni 2+ в активном центре координируются карбамилированным лизином, четырьмя гистидинами и одним аспартатом. Мочевина сначала взаимодействует с Ni (1) через карбонильный кислород, делая мочевину более доступной для нуклеофильных атак. Затем азот амино связывается с Ni (2), и протон переносится от молекулы воды к амину в результате нуклеофильной атаки на карбонильный углерод мочевины.Активный сайт закрывается во время реакции конформационно изменяющимся мотивом спираль-поворот-спираль, называемым подвижным лоскутом. Несмотря на их общий каталитический механизм, уреазы обнаруживают разные топологии цепей и олигомерные сборки более высокого порядка (Fig. 1b, c) . Уреаза бобов джек собирается в олигомер одного типа полипептидной цепи с симметрией D3 ([[α] 3 ] 2 D3) (рис. 1b, c) (Maroney & Ciurli, 2014). Уреаза патогена человека Helicobacter pylori состоит из двух типов полипептидных цепей (ureA, ureB) и собирается в додекамер (тетрамер-тримеров) с тетраэдрической симметрией ([[αβ] 3 ] 4 Т) (рис.1 б, в) . Способность уреаз повышать pH окружающей среды помогает H. pylori колонизировать желудок и кишечник, вызывая язву желудка (Kappaun et al ., 2018). Уреаза условно-патогенного микроорганизма Klebsiella aerogenes (Podschun & Ullmann, 1998) собирается в гетеротример из трех белков ureA, ureB и ureC, который, в свою очередь, олигомеризуется в тример ([αβγ] 3 C3) (et Jabri al ., 1995) (рис. 1б, в) .Эта олигомерная сборка является общей также для большинства других структурно охарактеризованных бактериальных уреаз (Maroney & Ciurli, 2014).
Рисунок 1Белковые архитектуры и олигомерные сборки уреаз. а) Схема биохимической реакции, катализируемой уреазой. b) Белковая архитектура функциональной единицы уреазы C. ensiformis (уреаза фасоли Джека), K. aerogenes, H. pylori и Y. enterocolitica . c) Поверхностное представление олигомерной сборки уреазы в C.ensiformis (PDB: 3LA4), K. aerogenes (PDB: 1EJW), H. pylori (PDB: 1E9Z) соответственно. Белки имеют цветовую кодировку, как в b) . Олигомерное состояние сборки уреазы указано внизу, а тримерные сборки указаны римскими цифрами.
Yersinia enterocolitica является возбудителем иерсиниоза, желудочно-кишечной инфекции, реактивного артрита и узловатой эритемы. Инфекция распространяется на людей через употребление зараженной пищи, причем свиньи являются одним из крупнейших резервуаров Y.Энтероколитика . Симптомами иерсиниоза являются лихорадка, боль в животе, диарея и / или рвота, и это один из наиболее часто регистрируемых энтеритов в некоторых странах, хотя вспышки случаются редко (Drummond et al ., 2012). Y. enterocolitica — это факультативная внутриклеточная бактерия, которая может выживать в самых разных средах. В присутствии мочевины Y. enterocolitica может переносить чрезвычайно кислые условия (Young et al ., 1996). Уреаза Y. enterocolitica состоит из трех полипептидных цепей (ureA, ureB и ureC), архитектура которых аналогична структуре K.aerogenes уреаза (рис. 1б) .
Здесь мы представляем структуру уреазы Y. enterocolitica с общим разрешением 1,98 Å, которое было достигнуто с использованием последних достижений в области сбора и обработки крио-ЭМ данных. Структура показывает, что уреаза Y. enterocolitica собирается в додекамерную полую сферу с [[αβγ] 3 ] 4 T олигомерной структурой сборки (фиг. 2) . Плотно встроенная изогнутая петля взаимодействует с соседними доменами и потенциально ответственна за сборку олигомера.Эти данные позволяют построить модель карбамилированного лизина активного центра, визуализировать радиационное повреждение никель-металлического центра и сети гидратации по всему белку. Наша работа подчеркивает потенциал крио-ЭМ для открытия лекарств на основе структур, особенно для крупных ферментных сборок, которые исторически сложно анализировать с помощью рентгеновской кристаллографии.
Рис. 2Крио-ЭМ-анализ сборки додекамерной уреазы Y. enterocolitica . a) Крио-ЭМ карта, отфильтрованная и окрашенная в соответствии с местным разрешением (слева), а также разрез карты, чтобы показать внутренние детали (справа). б) Архитектура сборки выделена на карте. Три цепи, которые образуют основной гетеротример, показаны разными цветами, а другие гетеротримеры показаны оттенками серого. Показаны два разных вида, указывающие на расположение малых и больших отверстий на интерфейсах, а также на активную площадку. Масштабные линейки: 20 Å.
Результаты и обсуждение
Определение структуры уреазы
Y. enterocolitica с помощью крио-ЭММы использовали крио-ЭМ одиночных частиц для определения структуры полностью собранного Y.enterocolitica уреаза. Мы получили 4494 снимка частиц уреазы с помощью просвечивающего электронного микроскопа (ПЭМ) Titan Krios, оснащенного прямым электронным детектором K2 и энергетическим фильтром (подробности см. В Methods ). Примерно половина фильмов (2243) была получена путем освещения трех точек («снимков») на каждое отверстие сетки с использованием сдвига луча-изображения для ускорения сбора данных (Cheng et al ., 2018), тогда как остальные фильмы были записаны без этой функции i.е. всего один выстрел в центр лунки. Это позволило нам измерить и оценить степень наклона луча и других оптических аберраций, а также поведение дрейфа образца между каждым условием и положением сдвига луча-изображения. Типичные микрофотографии отображаемых сеток приведены в Supp. Рис. 1a , а сводная информация о сборе данных приведена в Приложении . Табл. 1 .
Каждый набор данных обрабатывался отдельно для 3D-реконструкции в соответствии со стратегией, описанной в Supp.Рис.2 . Первая полученная трехмерная карта с общим разрешением 2,6 Å показала, что эта сборка уреазы представляет собой додекамер тетраэдрической (Т) симметрии с диаметром приблизительно 170 Å. Отдельная обработка каждого набора данных позволила получить улучшенные трехмерные карты с номинальным разрешением 2,10 Å и 2,20 Å для случаев многократной и однократной съемки, соответственно (см. Методы ).
Для сравнения мы также обработали объединенный набор частиц из обоих наборов данных вместе. Мы наблюдали в среднем для класса 2D преимущественную ориентацию для трехсимметричного вида уреазы, а также наличие изолированных мономеров и разорванных ансамблей (Supp.Рис. 1б) . Наличие таких неполных сборок было дополнительно подтверждено выполнением трехмерной классификации без наложения симметрии, как показано в Supp. Рис. 1c . Класс 3D, соответствующий полной додекамерной сборке уреазы, содержал 119 020 частиц, из которых 69 512 (58,4%) были получены в результате многократной обработки, а 49 518 (41,6%) — из набора данных однократной обработки. Что касается количества частиц, отобранных из каждого набора данных, 64,7% частиц из набора данных с несколькими выстрелами и 56,8% из наборов данных с одним выстрелом были сохранены на этом этапе и во время окончательной реконструкции.В то время как выравнивание без комы было выполнено и активная компенсация наклона луча в SerialEM (Schorb et al ., 2019) использовалась в наших сборах данных, после выполнения уточнения наклона луча в RELION-3 (Zivanov et al ., 2018) ) мы наблюдали, что в случае однократной съемки остаточный наклон луча выше, чем наименьшая остаточная величина, наблюдаемая в случае многократной съемки (Дополнение Табл. 2) . Однако эти два значения очень близки к нулю и, возможно, находятся в пределах погрешности процедуры уточнения угла наклона луча post hoc .
Уменьшение необходимости перемещать предметный столик в режиме сдвига луча-изображения не только ускоряет сбор данных, но и сводит к минимуму дрейф предметного столика. Второй и третий снимки из набора данных с несколькими снимками имеют сравнительно меньший дрейф, чем первый снимок с несколькими снимками и одиночный снимок, о чем свидетельствуют значения параметров, полученные в процессе обучения полировке по Байесу (Zivanov et al ., 2019a) на каждый класс наклона балки отдельно (Прилож. табл. 3) . Поскольку все три многократных снимка сделаны в соседних областях в одном отверстии фольги, это наблюдение согласуется с отжигом стекловидного слоя льда и его углеродной основы после предварительного облучения образца, как сообщалось ранее (Brilot et al ., 2012).
На этом этапе номинальное разрешение карты после 3D-уточнения составляло 2,05 Å. Наконец, исправление остаточных аберраций более высокого порядка при уточнении CTF (Zivanov et al ., 2019b) (Supp. Fig. 3) дало карту с глобальным разрешением 1,98 Å (Supp. Fig. 4a) . Оценка местного разрешения показывает, что ядро карты действительно находится на этом уровне разрешения или лучше (рис. 2a и дополнительный рис. 4b) , и карта с фильтром местного разрешения затем использовалась для построения модели, как объяснено в следующем раздел.Несмотря на двенадцатикратную симметрию сборки уреазы, ограничивающим фактором разрешения карты является сильное присутствие предпочтительной ориентации, что подтверждается графиком окончательного определения ориентации ( Supp. Fig. 4c ). Расчетная эффективность углового распределения составляет 0,60 (Naydenova & Russo, 2017). Обзор крио-ЭМ карты и ее основные характеристики представлены в Supp. Mov. 1.
Уреаза Y. enterocolitica собирается в виде тетрамера тримеровПостроение модели было начато на основе имеющихся кристаллографических моделей с последующей подгонкой и уточнением по крио-ЭМ карте.Модель была построена и уточнена для одной асимметричной единицы, содержащей по одной копии белков ureA, ureB и ureC каждый. Затем модель была расширена с использованием NCS (см. методы ). Полная модель, охватывающая всю олигомерную сборку, содержит 9,552 остатка, 3,672 воды и 24 иона никеля (по два на активный центр, двенадцать активных центров) (таблица 1) . Качество модели оценивалось с помощью инструментов проверки крио-ЭМ в пакете PHENIX (Afonine, Klaholz et al ., 2018).Карта позволила построить все остатки мочевины A (1-100) и остатки 31-162 ureB и 2-327 / 335-572 ureC (Supp. Рис. 5) . Гетеротример, образованный тремя белковыми цепями (ureA, ureB, ureC) (рис. 1b) , олигомеризуется в гомотример. Гомотример расположен в виде тетрамера-тримеров, превращая полный комплекс в додекамер гетеротримеров (рис. 2b) . Между тримером есть четыре больших отверстия овальной формы (длина 64 Å, ширина 12 Å, высокий электростатический потенциал) и четыре отверстия меньшего размера в центре тримера диаметром 6 Å (низкий электростатический потенциал), как показано на Рис. .2b , а центр ферментной сборки — полый (рис. 2). Отверстия предоставляют широкие возможности для диффузии незаряженного субстрата и продукта, а полость внутри потенциально приводит к локальному увеличению продукта реакции. Сборка имеет ту же симметрию, что и гомолог уреазы в H. pylori , который, как постулируется, увеличивает стабильность и / или устойчивость к кислой среде (Ha et al ., 2001).
Таблица 1Построение и уточнение модели.Статистика, показанная для полной сборки, рассчитана для асимметричного блока с использованием NCS.
Для анализа последовательностей белков был использован сервер ConSurf (Березин и др. ., 2004; Ашкенази и др. ., 2016) с опцией выборочного списка гомологов для получения разнообразного набора из 150 последовательностей. Белковые цепи уреазы Y. enterocolitica высоко консервативны у разных организмов. Цепь мочевины расщепляется после мотива LVTXXXP и в большинстве случаев состоит из 99-100 аминокислот с идентичностью последовательности 55.7%. Цепь ureB Y. enterocolitica имеет на 20-30 N-концевых аминокислот больше по сравнению с другими последовательностями (за исключением Kaistia sp . SCN 65-12), идентичность которых составляет 51,5%. Это N-концевое удлинение расположено за пределами холофермента, где происходит расщепление цепей ureA и ureB, и они слишком неупорядочены, чтобы моделироваться в структуре (Supp. Fig. 5) . Заряды и свойства этого участка аминокислот различаются, и остается неясным, выполняют ли они свою функцию.Последние 20 аминокислот на С-конце ureB представлены только в половине сравниваемых последовательностей, и точная консервация последовательности не может быть определена в этой части. Этот отрезок содержит петлю и С-концевую спираль (доп. Рис. 5) . Белок ureC сравниваемых последовательностей имеет общую идентичность последовательностей 60,3%. Все аминокислоты, участвующие в катализе, являются высококонсервативными (Supp. Fig. 5) . Цепи мочевины A и ureB демонстрируют более низкую консервацию по сравнению с ureC. Они участвуют не в катализе, а в каркасе, поэтому различия могут быть связаны с их ролью в различных типах сборки олигомеров (рис.3) .
Рисунок 3Сравнение архитектуры цепи уреазы Y. enterocolitica с уреазами с различными способами сборки от других патогенов. Гетеротримеры показаны в виде трубки с каждой цепочкой того же цвета, что и последовательности на Fig. 1b . Черная звездочка указывает на центральную спираль субъединицы β. Уреазы Y. enterocolitica и H. pylori образуют одну и ту же додекамерную сборку, несмотря на разные типы расщепления цепи, тогда как уреазы K.aerogenes уреаза имеет тот же тип расщепления цепи, что и у Y. enterocolitica , но образует только тримерную сборку.
Для дальнейшего исследования этого аспекта мы сравнили представленную структуру с уреазами H. pylori, S. pasteurii и K. aerogenes . Оценки идентичности последовательностей этих уреаз представлены в Supp. Табл. 4 . Уреаза H. pylori состоит из двух белковых цепей ureA (которая содержит эквивалент мочевины A и ureB в Y.enterocolitica) и ureB (эквивалент ureC в Y. enterocolitica) (рис. 1c и 3c) . Он собирается в Т-симметричный олигомер, как в Y. enterocolitica , и кристаллическая структура была решена до 3 Å. Уреазы S. pasteurii и K. aerogenes обе собираются в тример из гетеротримерной единицы (рис. 1c и рис. 3b) . S. pasteurii растворяли в присутствии ингибитора N- (н-бутил) тиофосфорного триамида (NBPT) до 1.28 Å (Mazzei et al ., 2017). Кристаллическая структура Klebsiella aerogenes была решена до 1,9 Å, как в отсутствие субстрата или ингибиторов (Jabri et al ., 1995).
Есть две основные области с высокими среднеквадратичными отклонениями (RMSD) при сравнении этих трех уреаз с Y. enterocolitica model (Supp. Fig. 6 and Supp. Tab. 5) . Первая область с большим отклонением — это подвижный лоскут, который открывается и закрывается над активным сайтом (остатки от 312 до 355 ureC).Остатки его соединительной петли не могут быть построены с уверенностью в модели крио-ЭМ (остатки 326-333 ureC). Другая область с большими различиями находится на краях мочевины A и ureB, где происходят взаимодействия со следующим протомером. Сборка H. pylori содержит дополнительную С-концевую петлю (остатки 224–238 мочевины) после верхней альфа-спирали (остатки 206–223 мочевины). Эта спираль (центральная спираль) образует тройную ось трех соседних тримеров, а петля по принципу голова к хвосту соединяется со следующим тримером, образующим тетрамер (рис.3а, в) (Ha et al ., 2001). Ядро сборки идентично по своей структуре. Оценки наложения всей цепи и значения RMSD между сравниваемыми моделями см. В Supp. Табл. 5 .
В додекамерной сборке семь различных интерфейсов сформированы между гетеротримером (Рис. 4a, b и Supp. Рис. 7) . Внутри-тримерные взаимодействия происходят между тремя основными гетеротримерами в одном собранном тримере, образуя ось симметрии третьего порядка (рис.4а) . Взаимодействия между этими тримерами с образованием тетрамера затем образуют другую ось симметрии 3-го порядка (рис. 4b) . Три самых больших интерфейса (интерфейсы 1-3) образуются внутри-тримером между ureC одного гетеротримером и ureC, ureA и ureB следующего тримера (рис. 4a) . Три белка мочевины составляют ядро интратримера (первая ось трех частей) с интерфейсом 4 (фиг. 4c и Supp. Фиг. 7) . Сравнение площадей интерфейса, сформированных в сборке тримера, не показывает существенных различий между четырьмя организмами (Supp.Рис.7) . Межтримерные интерфейсы (интерфейсы 5, 6, 7), сформированные в додекамерных уреазах Y. enterocolitica и H. pylori , имеют сходные площади (Fig. 4b and Supp. Fig. 7) . Часть взаимодействий происходит между ureB и ureC, образующими интерфейсы друг с другом (интерфейс 4, 6). Другое взаимодействие происходит между тремя белками ureB и образует интерфейс 7 и межтримерное ядро (вторая ось третьего порядка) с их центральными спиралями (Рис. 4b) . Y. enterocolitica не имеет такой же петли олигомеризации после центральной спирали, предложенной для H. pylori . Однако перед центральной спиралью имеется короткая петля, которая расширяется у Y. enterocolitica . Он связывается с карманом ureC соседнего тримера в интерфейсе 6 (рис. 4e) . Эти типы петель или удлинений отсутствуют в белках ureB S. pasteurii и K. aerogenes . S. pasteurii имеет центральную спираль, но нет расширенной петли до или после нее (Supp.Рис. 6б) . Уреаза K. aerogenes не имеет ни спирали, ни петли в этой области (рис. 3б) . Это предполагает, что наличие петель олигомеризации в ureB имеет решающее значение для определения олигомерного состояния фермента.
Рисунок 4 Интерфейсыв додекамерной сборке Y. enterocolitica . a) Модель поверхности на виде спереди тримеров уреазы Y. enterocolitica с интратримерными интерфейсами 1-4, обозначенными цветными линиями и числами. b) Та же модель, изображенная сверху (вид обозначен глазом), и межтримерные интерфейсы. c) Вид спереди с выделенным внутри-тримерным ядром и тройной осью, обозначенной черным треугольником. Вставка для д) в пунктирной рамке. г) то же, что в), но вид сверху. e) Интерфейс 6 с петлей от ureB (пурпурный), привязанной к карману ureC соседнего тримера. Верхняя вставка показывает ureB в мультипликационном изображении и прозрачной поверхности и ureC в изображении поверхности.Нижняя панель показывает ureC как поверхность и петлю ureB как рисунок с плотностью.
Додекамерная холоферментная структура уреаз может способствовать стабилизации белка при кислом pH, и в сочетании с 12 активными центрами, продуцирующими аммиак, позволяет формировать pH-нейтрализующее микроокружение вокруг сборки (Ha et al ., 2001). Это обеспечивает непрерывную функцию фермента и делает этот тип олигомерной сборки важным для выживания Y. enterocolitica в организме хозяина.Примечательно, что Y. enterocolitica является первым организмом за пределами семейства Helicobacteraceae, который имеет известную додекамерную уреазу. Принимая во внимание различную организацию субъединиц между этими уреазами, возникает вопрос, какие конкретные события в эволюционной истории Y. enterocolitica могли привести к этому типу сборки (Ligabue-Braun et al ., 2013).
Пустой активный участок заполнен водой
При общем разрешении 1.98 Å можно наблюдать подробные структурные особенности. Все области белка с высоким разрешением, солевые мосты, гидратация основной и боковой цепи и альтернативные конформации боковых цепей могут быть визуализированы (Supp. Fig. 8a-c) . Кроме того, высокое разрешение позволяет детально описать никель-металлоцентр и активный центр. Активный центр расположен на белке ureC на краю гетеротримеров и вклинивается между белками ureA и ureB следующего гетеротримера в гомотримерной сборке (рис.5а) .
Рисунок 5Активный центр уреазы Y. enterocolitica . a) Обзор сборки уреазы с указанием местоположения активного сайта. На вставке показан вид сбоку на верхней панели кристаллических структур уреазы из подвижного лоскута K. aerogenes , показанного в открытой конформации у лосося (PDB: 2UBP) и в закрытом положении светло-фиолетовым цветом (PDB: 3UBP). Серым цветом наложена крио-ЭМ структура Y. enterocolitica , а зеленые сферы представляют ионы Ni 2+ активного центра.Нижняя панель показывает вид сверху на три конструкции. Стрелки указывают на движение спирали, а каталитический HIS325 показан в виде стержня. b) Модель остатков активного центра и ионов Ni 2+ с крио-ЭМ картой Y. enterocolitica при номинальном разрешении 1,98 Å. Желтая линия указывает расстояние между ионами Ni 2+ в Å; c) показывает молекулы воды в активном центре. d) Кристаллическая структура уреазы K. aerogenes при разрешении 1,9 Å (PDB: 1EJW).Желтой линией показано расстояние между ионами Ni 2+ в Å. e) Кристаллическая структура S. pasteurii при 1,28 Å с ингибитором NBPT (PDB: 5OL4).
Катализ аммиака и карбамата из мочевины происходит в два этапа (рис. 1a) . Мочевина сначала взаимодействует с ионами никеля через карбонильный кислород и аминоазот. Активный центр содержит два иона Ni 2+ , которые координированы шестью различными аминокислотами (рис. 5b) .Оба иона Ni 2+ координированы карбамилированным LYS222 *. Ni (1) дополнительно координируется HIS224, HIS251 и HIS277, а Ni (2) — HIS139, HIS141 и ASP365. Рядом с активным центром находится метионин (MET369), который можно смоделировать в различных альтернативных конформациях. Одна конформация потенциально может достичь активного сайта. Нет описанной функции для этой аминокислоты (фиг. 5c и Supp. Фиг. 9) .
Активный сайт защищен мотивом спираль-поворот-спираль, называемым подвижным лоскутом.Его функция — координировать доступ субстрата к каталитическому центру и высвобождение продукта из него (Maroney & Ciurli, 2014). После закрытия подвижной заслонки протон передается от молекулы воды к другому амину в результате нуклеофильной атаки на карбонильный углерод мочевины. Консервативный гистидин на подвижном лоскуте (HIS325) необходим для катализа, возможно, действуя как общая кислота и способствуя депротонированию (рис. 5a) (Maroney & Ciurli, 2014; Kappaun et al ., 2018). При закрытии подвижной заслонки HIS325 перемещается ближе к активному центру, также стабилизируя мочевину в кармане активного сайта (Maroney & Ciurli, 2014). Открытие заслонки затем высвобождает аммиак и карбамат, где последний самопроизвольно гидролизуется до другой молекулы аммиака и бикарбоната. Подвижный клапан представленной здесь крио-ЭМ структуры находится в открытом положении, что объясняется отсутствием субстрата или ингибиторов в образце (рис. 5а) . В пустом кармане активного центра можно увидеть скоординированные молекулы воды, которые не только образуют водородные связи с боковыми цепями или основной цепью белка, но и друг с другом, составляя гидратную сеть (Supp.Рис. 8d) .
Разрешение в активном центре достаточно для полного атомарного описания координированных ионов Ni 2+ , включая карбамилированный лизин. Состояния протонирования остатков активного центра также представлены на карте (рис. 5b) . Одна из молекул гидроксида в активном центре важна, поскольку она выполняет нуклеофильную атаку на мочевину, в то время как другие молекулы вытесняются мочевиной и закрывают подвижный клапан (Kappaun et al ., 2018). Сравнение с кристаллической структурой K. aerogenes аналогичного номинального разрешения (1,9 Å) показывает различия в визуализации этих особенностей. Эта кристаллическая структура была решена в отсутствие ингибиторов или субстрата, так что активный центр также был пуст, а подвижный лоскут в открытой конформации (фиг. 5a) . Детали карты предоставляют более мелкие детали вокруг ионов Ni 2+ на крио-ЭМ карте, чем кристаллографические данные. Протонирование гистидинов хорошо видно на крио-ЭМ плотности (рис.5б) . Положения боковых цепей и ионов Ni 2+ в активном центре очень похожи на структуру уреазы Y. enterocolitica со среднеквадратичным отклонением 0,270 Å (Таблица 5) . Кристаллическая структура S. pasteurii была решена в присутствии ингибитора NBPT, который вытесняет необходимые для реакции молекулы воды из активного центра. Закрытие подвижной заслонки вытесняет остальную воду и приближает каталитический HIS323 к активному центру.Плотная упаковка боковых цепей предотвращает попадание мочевины в активный центр, эффективно блокируя его (рис. 5b, e) . Остатки активного центра и ионы Ni 2+ имеют RMSD 0,293 Å между S. pasteurii и Y. enterocolitica .
Атомы никеля сближаются
Расстояние между ионами Ni 2+ составляет 3,7 Å в рентгеновских структурах K. aerogenes и S. pasteurii , но только 3,2 Å в образце Y.enterocolitica крио-ЭМ модель (рис. 5б, г) . Короткие расстояния 3,1–3,3 Å были описаны для S. pasteurii и K. aerogenes при высоком разрешении для структур в присутствии β-меркаптоэтанола (β-ME) (Benini et al ., 1998). Зная, что металлические сердечники особенно чувствительны к излучению (Яно и др. , 2005), мы попытались определить, в какой степени радиационное повреждение может объяснить более короткое расстояние между ионами Ni 2+ .С этой целью мы сгенерировали покадровые реконструкции для первых 25 кадров нашего сбора данных и уточнили модель на каждом из них (см. Методы ) и измерили расстояния между остатками, участвующими в координации ионов, как показано на Рис. 6 . В начале экспозиции, в которой кадры вносят больший вклад в полную реконструкцию из-за взвешивания дозы (Grant & Grigorieff, 2015; Zivanov et al ., 2019a), наблюдается тенденция сближения ионов ( Рис.6а-я ). Хотя мы не можем точно определить, как это происходит из-за радиационного повреждения, это, вероятно, является результатом нескольких взаимодействий в активном центре, изменяющихся одновременно во время воздействия. Например, как Ni (1), так и Ni (2) имеют тенденцию приближаться к карбамилированному LYS222 ( Рис. 6a-iv, v ), когда ASP365 исчезает ( Рис. 6a-vi ), что можно увидеть на Supp. Mov. 2 . Известно, что у аспарагиновой кислоты очень рано повреждается боковая цепь (Hattne et al ., 2018). Динамическое взаимодействие между остатками во время воздействия ( Рис. 6b ), вероятно, связано с разной скоростью, с которой повреждаются определенные типы связей и остатков (Fromm et al ., 2015): сначала отрицательно заряженные остатки, затем положительно заряженные, за которыми следуют ароматические боковые цепи, что также наблюдается в Supp. Mov. 2 . Однако более позднюю часть экспонирования следует интерпретировать с осторожностью, поскольку координаты атомов становятся менее надежными, что подтверждается общим увеличением B-факторов в (рис.6c и полосы ошибок на Рис. 6a .
Рисунок 6Радиационное повреждение влияет на расстояние между остатками в активном участке. a) Расстояния между ионами Ni 2+ и выбранными остатками, участвующими в их координации, нанесены на график в зависимости от накопленного воздействия. Для каждой реконструкции, рассчитанной вдоль экспозиции, модель уточнялась и измерялись расстояния. Точки указывают на среднее значение, а полосы ошибок показывают +/- одно стандартное отклонение для пяти прогонов уточнения с разными случайными начальными числами.Горизонтальная пунктирная линия на панели a-i) показывает расстояние в модели, полученное при полной реконструкции со всеми кадрами. Вертикальные пунктирные линии приблизительно показывают экспозицию, при которой плотность заряженных остатков полностью исчезает (см. Supp. Mov. 2 ). b) Коэффициенты корреляции между изменениями расстояния по ходу воздействия для выбранных остатков, участвующих в координации ионов. Графики расстояний, показанные в а), отмечены звездочкой. c) Средние B-факторы выбранных остатков в зависимости от накопленного воздействия.
Заключение
Большие ансамбли уреазы исторически трудно было исследовать с помощью рентгеновской кристаллографии (Ha et al ., 2001). Мы определили структуру сборки додекамерной уреазы, металлофермента патогена Y. enterocolitica с общим разрешением 1,98 Å с использованием крио-ЭМ. Сбор наборов данных со смещением луча-изображения и без него демонстрирует преимущества использования этой функции современных ПЭМ и предлагает дальнейшие исследования поведения оптических аберраций и дрейфа образца.
Наши результаты демонстрируют возможность крио-ЭМ как метода получения структур клинически значимых ферментов с достаточным качеством для создания модели de novo и дизайна лекарств. Крио-ЭМ карта позволила детально описать активный сайт и сборку олигомеров. Более конкретно, мы могли наблюдать предполагаемую петлю олигомеризации, которая обеспечивает сборку додекамеров, которая, как предполагалось, ответственна за повышенную выживаемость Y.enterocolitica в сильно кислой среде (Young et al ., 1996). Эта уреаза является первой за пределами семейства Helicobacteraceae и, следовательно, без организации субъединицы αβ, для которой сообщается о додекамерной сборке. Какие эволюционные события привели к этой интригующей комбинации субъединичной организации и четвертичной структуры, неизвестно.
Кроме того, по сравнению со структурой K. aerogenes , которая имеет примерно такое же номинальное разрешение, крио-ЭМ карта предлагает улучшенное представление протонов и ионов Ni 2+ .Возможное объяснение состоит в том, что ошибка в фазах, полученных при определении структуры рентгеновских лучей, растет быстрее к пределу наблюдаемой дифракции. Другой аспект, который следует учитывать, заключается в том, что рентгеновские лучи и электроны исследуют различные свойства вещества, соответственно электронную плотность и интегрированный кулоновский потенциал. Наши результаты побуждают к более детальному исследованию этих эффектов и того, как они влияют на представление объектов в высоком разрешении.
Наконец, мы заметили, что радиационное повреждение может частично объяснить более короткое расстояние между атомами никеля в активном центре.Учитывая, что ионы и заряженные остатки повреждаются на очень ранней стадии воздействия (Yano et al ., 2005; Hattne et al ., 2018), этим эффектом нельзя пренебрегать в структурах, полученных из крио-ЭМ реконструкций. Новые прямые детекторы электронов с более высокой частотой кадров могут позволить эксперименты с временным разрешением исследовать эти эффекты более подробно.
Методы
Экспрессия и очистка белка
Уреаза Y. enterocolitica была очищена для криоэлектронной микроскопии в соответствии с протоколом (Rokita et al ., 2000). Штамм предварительно культивировали в течение ночи при 37 ° C в течение 18 часов в среде, содержащей 37 г / л инфузии мозга / сердца (Oxoid, CM0225), 50 мкг / мл сульфата стрептомицина (Applichem, A1852.0100), 35 мкг / мл налидикса. кислоты (Applichem, A1894.0025), 50 мкг / мл мезо-диаминопимелиновой кислоты (Sigma, D1377) и 100 мкМ гексагидрата хлорида никеля (II) (Sigma, N6136). 6 х 600 мл экспрессионных культур инокулировали при OD 1 при 28 ° C в течение 23 часов. Клетки собирали центрифугированием и осадок клеток ресуспендировали в 0.15 М NaCl, 50 мМ Трис, pH 8,0. Лизат клеток наносили непосредственно на колонку Sephacryl S-300 HR 26/60, уравновешенную 150 мМ NaCl, 50 мМ TrisHCl pH 8,0. Активные фракции, идентифицированные с помощью фенол-гипохлоритного анализа (Weatherburn, 1967), заменяли буфером на 50 мМ Трис, pH 7,0 в центробежном фильтре (Sartorius, Vivaspin MWCO 50 кДа) и наносили на колонку Mono Q HR 5/5 перед предварительной обработкой. уравновешивают 50 мМ TrisHCl, pH 7,0. Белок элюировали 50 мМ Трис pH 7,0 градиентом до 1 М NaCl, концентрировали на центробежном фильтре (Sartorius, Vivaspin MWCO 50 кДа) и очищали с помощью SEC, как и ранее.Чистоту образца уреазы двух препаратов проверяли с помощью 4% / 12% SDS-PAGE и масс-спектроскопии.
Подготовка образца
Приблизительно 3 мкл раствора уреазы 0,39 мг / мл наносили на угольные решетки Quantifoil с тлеющим разрядом с отверстиями. После 3-секундного блоттинга сетки мгновенно замораживали в жидком этане с использованием FEI Vitrobot IV (Thermo Fisher Scientific) с температурой в камере для окружающей среды 90% и температурой 20 ° C.
Сбор данных
Крио-ЭМ данные были собраны на просвечивающем электронном микроскопе FEI Titan Krios (Thermo Fisher Scientific), работающем при 300 кВ и оборудованном энергетическим фильтром формирования изображения Quantum-LS (GIF, окно энергии нулевых потерь 20 эВ; Gatan Inc.) и прямой электронный детектор K2 Summit (Gatan Inc.), работавший в режиме фракционирования дозы. Сбор данных контролировался программой SerialEM (Schorb et al ., 2019), выполняемой в режиме счета, с общей экспозицией 42 e — / Å 2 , разделенной на 40 кадров в течение 8 секунд. Физический размер пикселя на уровне образца составлял 0,639 Å. Данные были предварительно обработаны с помощью пакета FOCUS (Biyani et al ., 2017), включая коррекцию дрейфа и взвешивание дозы с использованием MotionCor2 (Zheng et al ., 2017) (группировка каждые 5 кадров и использование плиток 3 × 3) и оценка CTF с использованием CTFFIND4 (Rohou & Grigorieff, 2015) (с использованием информации от 30 до 5 Å из стеков фильмов). С этими настройками мы собрали два набора данных: один с использованием сдвига луча-изображения (Cheng et al ., 2018), с тремя снимками на отверстие в сетке, включая 2243 видеоролика, а второй — с одним снимком на отверстие, с 2252 кадрами. фильмы. Сводная информация о сборе данных приведена в Приложении . Табл. 1 .
Обработка изображений
Два набора данных изначально обрабатывались отдельно, как показано на блок-схеме Supp. Рис.2 . Мы исключили все фильмы, разрешение CTF-подгонки которых было хуже 4 Å согласно CTFFIND4, оставив 2197 фильмов в наборе данных для нескольких кадров или 2115 в наборе данных для отдельных кадров для дальнейшей обработки. Используя алгоритм LoG-picker без шаблонов (Zivanov et al ., 2018), мы выбрали начальный набор из 157699 координат частиц в наборе данных multi-shot.Эти частицы были извлечены и подвергнуты одному раунду 2D-классификации с целью удаления «плохих» или ложноположительных частиц. Наилучшие результаты в 2D-классификации наблюдались при включении опции RELION «Игнорировать CTF до первого пика?». Выбрав только классы, отображающие виды уреазы с функциями высокого разрешения, было получено новое подмножество, содержащее 60 271 частицы. Используя это подмножество, первая трехмерная карта была получена с помощью алгоритма ab initio стохастического градиентного спуска (SGD) (Zivanov et al ., 2018; Punjani et al ., 2017) с наложенной тетраэдрической симметрией и без нее. Симметричная карта соответствовала ранее определенным структурам уреаз (Arnold et al ., 2016; Ha et al ., 2001). Затем частицы были подвергнуты трехмерному уточнению с использованием карты из процедуры ab initio в качестве исходного ориентира, в результате чего была получена карта с разрешением 2,6 Å. Затем мы сгенерировали новые шаблоны для отбора частиц, отфильтровав нечеткую карту нечеткой карты от этого первого 3D-уточнения до 20 Å и рассчитав по ней равномерно ориентированные 2D-проекции.Эти шаблоны затем использовались для пикировки с помощью Gautomatch (K. Zhang, http://www.mrc-lmb.cam.ac.uk/kzhang/), обнаруживая 107,399 координат частиц в наборе данных multi-shot или 87204 координаты частиц в однократный набор данных. Визуальная проверка случайно выбранных микрофотографий показала, что этот набор координат был лучше, чем тот, который ранее был обнаружен LoG-picker, в том смысле, что он содержал меньше ложных срабатываний и больше истинных частиц. Затем вновь извлеченные частицы были подвергнуты процедурам двухмерной и трехмерной классификации, чтобы избавиться от ложноположительных, поврежденных или сломанных частиц, в результате чего были получены более чистые подмножества с 62 884 (многократные) или 51 173 (однократные) частицы.Используя текущую лучшую карту из набора данных multi-shot в качестве отправной точки, мы затем выполнили замаскированные 3D-уточнения для двух наборов данных отдельно, перемежаясь раундами уточнения CTF и полировки байесовскими частицами (Zivanov et al ., 2019a). В частности, мы уточнили расфокусировку на частицу , астигматизм на микрофотографию и наклон луча глобально в уточнении CTF. В наборе данных с несколькими выстрелами каждой из трех относительных «мишеней для стрельбы» был назначен другой класс для отдельного уточнения наклона луча.На этом этапе параметры для полировки байесовскими частицами были обучены отдельно для ~ 5000 частиц из каждого набора данных. Каждый набор данных давал уточненные карты с разрешением 2,10 Å (многократный снимок) и 2,20 Å (одиночный снимок). Однако наилучшие результаты были получены при объединении частиц, отобранных с помощью сопоставления шаблонов для каждого набора данных (всего 194 603 частицы), и их общей обработки. После 2D-классификации 141 069 частиц остались (Дополнение рис. 1b), , а после 3D-классификации было 119 020 частиц (Дополнение.Рис. 1c) . Затем было выполнено уточнение CTF с использованием четырех классов наклона луча, при этом частицы из набора данных однократного взрыва принадлежат новому, четвертому классу (таблица 2) . На этот раз дефокус и астигматизм были уточнены на на частицу , что привело к разрешению карты 2,05 Å. Мы сравнили полировку сразу всего объединенного набора данных и каждого класса наклона луча по отдельности, чтобы проверить, есть ли различия в паттернах движения частиц. На этот раз для тренировки параметров полировки в каждом случае использовалось ~ 10 000 частиц.Хотя мы наблюдали различную статистику движения частиц (Дополн. Табл. 3) , разрешение и общее качество карты не улучшились в дальнейшем за счет выполнения объединенной или раздельной полировки разных снимков. Наконец, коррекция аберраций третьего порядка в RELION-3.1 (Zivanov et al ., 2019b) (Supp. Fig. 3) с последующим локальным 3D уточнением привела к разрешению глобальной карты 1,98 Å. Эффективность углового распределения оценивалась с помощью программы cryoEF (Найденова, Руссо, 2017).
Все представленные оценки разрешения были получены с учетом порога 0,143 (Rosenthal & Henderson, 2003) на кривой корреляции Фурье-оболочки (FSC) (Harauz & van Heel, 1986) между независимо уточненными полукартами (Scheres & Chen, 2012) . Маска, исключающая растворитель, была создана путем фильтрации нижних частот карт до 12 Å, бинаризации отфильтрованной карты и добавления мягкого края, состоящего из косинусоидального спада до нуля. Кривая FSC была скорректирована с учетом искусственных корреляций, внесенных маской (Chen et al ., 2013). Локальное разрешение оценивалось с использованием подхода, реализованного в RELION (Cardone et al ., 2013).
Построение, уточнение и анализ модели
После уточнения карты до высокого разрешения ее пришлось перевернуть в UCSF Chimera (Pettersen et al ., 2004), чтобы она соответствовала правильной руке. Биологическая сборка из кристаллической структуры уреазы Y. enterocolitica (примечание 1) была жестко подогнана к карте в Химере.Некристаллографическая симметрия (NCS) была рассчитана с помощью PHENIX v1.17 (Adams et al ., 2002) на основе кристаллической структуры. Только с использованием гетеротримеров трех белков, основная цепь и боковые цепи были построены, исправлены или подтверждены в Coot (Emsley & Cowtan, 2004). После нескольких раундов ручного уточнения модели в Coot, применения NCS и уточнения в реальном пространстве в PHENIX, модель включала боковые цепи остатков 1-100 мочевины A, 31-162 ureB и 2-327, 335-572 ureC. .Остатки 328–334 неупорядочены и не могут быть смоделированы с уверенностью. Ограничения NCS не использовались во время окончательных доработок, чтобы включить альтернативные конформации боковой цепи. Воды были построены вручную и уточнены в PHENIX и добавлены в ближайшую цепочку с помощью программы phenix.sort_hetatoms. Качество уточнения оценивалось с помощью инструмента крио-EM Validation (таблица 1) (Afonine, Klaholz et al ., 2018).
Анализ структуры
Электростатический потенциал был рассчитан с помощью плагина APBS в PyMOL (Jurrus et al, 2018).Сервер ConSurf (Berezin et al ., 2004; Ashkenazy et al ., 2016) использовался для поиска 150 последовательностей на белок уреазы для выравнивания с ClustalW (Madeira et al ., 2019) и расчета консервации на остаток . Опция «выборка списка гомологов» использовалась для получения разнообразного представления по всем видам. Идентичность последовательностей 150 определяли с использованием BLSM62 в Geneious (Kearse et al ., 2012). Сервер PDBePISA (https: // www.ebi.ac.uk/pdbe/pisa/) использовался для поиска и расчета площади поверхности раздела (Krissinel & Henrick, 2007). Рисунки были созданы с использованием UCSF Chimera (Pettersen et al ., 2004), ChimeraX (Goddard et al ., 2018), PyMol (Schrödinger), Inkscape, Adobe Illustrator и Adobe Photoshop.
Анализ радиационных повреждений
Полировка байесовскими частицами в RELION (Zivanov et al ., 2019a, 2018) проводилась по принципу скользящего окна по всей экспозиции, включая 5 кадров за раз, начиная с кадра 1 по кадр 25.Затем из каждого стека полированных частиц были созданы полунаборные реконструкции, которые подверглись последующей обработке с использованием той же маски, которая применялась к реконструкции из всех кадров. На каждой постобработанной реконструкции уточнение реального пространства цепи C (α-субъединица, содержащая активный сайт) из полной реконструкции проводилось в PHENIX (Afonine, Poon et al ., 2018) в течение 5 макроциклов. Эту процедуру повторяли 5 раз с разными случайными семенами. Расстояние между остатками в полученных уточненных моделях рассчитывали с помощью BioPython (Cock et al ., 2009) и построены с использованием модулей Python NumPy (https://www.numpy.org) и Matplotlib (https://www.matplotlib.org).
Совет Истхэмптона поддерживает резолюцию Medicare для всех — GazetteNET
Опубликовано: 23.12.2019 16:07:53
EASTHAMPTON — Еще один знак поддержки движения за систему здравоохранения с одним плательщиком: городской совет Истхэмптона принял резолюцию в поддержку принятия программы Medicare для всех в содружестве.
Резолюция была принята единогласно 8-0 при одном воздержавшемся в среду и призывает представителей города на Бикон-Хилл поддержать закон, озаглавленный «Закон об учреждении медицинской помощи для всех», S.683 в Сенате и H.1194 в Палате представителей, выражая поддержку Совета.
Член городского совета Пег Коннифф воздержалась при голосовании, поскольку она работает в медицинской страховой компании и выразила обеспокоенность по поводу потенциального конфликта интересов.
Законопроект установит систему здравоохранения с одним плательщиком в Содружестве, которая обеспечит доступ к медицинскому обслуживанию без доплаты, а также охватит такие области, как слуховые аппараты и уход в домах престарелых.
Хотя резолюция не является обязательным законодательством, она представляет волю совета.Резолюция была представлена членом городского совета Оуэном Заретом и подготовлена при участии Easthampton Hub Западного Массачусетса Medicare for All, организации по защите интересов здравоохранения с одним плательщиком. Зарет также проконсультировался с местными законодательными органами штата относительно цели законопроекта.
«Единый плательщик в штате Массачусетс станет большой победой для муниципалитетов», — заявила в заявлении Дебора Левенсон, соучредитель программы Medicare for All в Западном Массачусетсе. «Мы подсчитали, что Истхэмптон сэкономил бы миллионы долларов в прошлом году по счету единого плательщика.Мы ожидаем, что многие другие города примут аналогичные резолюции, что станет серьезным сигналом для законодательного собрания ».
Ряд людей высказались в период общественного обсуждения совета в поддержку резолюции, в том числе член палаты представителей штата Дэн Кэри, штат Демократическая Республика Истхэмптон.
«Мне легко это поддерживать. И это отличная идея », — сказал Кэри, соавтор законопроекта« Медикэр для всех »в Законодательном собрании.
Кэри также указал на голосование в 2018 году по необязательному вопросу бюллетеня избирателей Истхэмптона по программе Medicare for All.Семьдесят процентов избирателей поддержали этот вопрос, согласно данным, предоставленным городской канцелярией Истхэмптона.
Член городского совета Томас Пик отметил, что на выборах, на которых Истхэмптон поддержал программу Medicare для всех, город также проголосовал за губернатора Чарли Бейкера, республиканца.
«Это не просто мелочь, — сказал Пик.
Перед тем, как принять решение, в резолюцию были внесены два изменения, в одном из которых была удалена конкретная цифра того, сколько Medicare for All могло бы сэкономить городу в 2019 финансовом году, а в другом выражалась поддержка советом системы, обеспечивающей определенный уровень обслуживания. как минимум равный плану медицинского обслуживания, используемому в настоящее время государственными служащими и пенсионерами Истхэмптона.
Bera Dunau можно связаться по адресу [email protected].
границ | Полноразмерный глубокий сегментатор для компьютерной томографии при лучевой терапии рака молочной железы
1. Введение
Для планирования лечения лучевой терапией анатомические структуры необходимо сегментировать с помощью компьютерной томографии или магнитно-резонансной томографии. В настоящее время сегментация выполняется квалифицированным клиническим экспертом, и в случае рака груди на нее уходит в среднем 34 минуты на пациента и 6 минут.5 мин на каждый орган риска (OAR) (1). Это увеличивает расходы для поставщиков медицинских услуг и делает подходы к адаптивному планированию, основанные на анатомии дня, во многих случаях невозможными.
В случае рака груди для целей планирования лечения обычно формируют контур груди и сердца. Однако очертания груди плохо определены по сравнению, например, с сегментацией легких или сердца. Причина этого — размытая граница между тканью груди и окружающей жировой тканью.Следовательно, существует высокая изменчивость между наблюдателями. Это может изменить положение границы в среднем от 1,6 до 8,5 мм (2) и со средним стандартным отклонением 5,7 мм (3). Кроме того, исследование, проведенное с участием нескольких учреждений и нескольких наблюдателей, сообщило о стандартном отклонении до 60% в вариации объема (4). Таким образом, определение правильного контура зависит от лица, выполняющего контурную работу. Таким образом, алгоритм автоматического построения контуров может ускорить процесс очерчивания и улучшить согласованность действий наблюдателей.Автоматизация сегментации груди была достигнута с использованием методов атласа (5) или методов фильтрации (6). Однако благодаря развитию глубокого обучения в других областях науки мы можем создавать более надежные алгоритмы, которые могут лучше адаптироваться к различным анатомиям.
1.1. Связанные работы
Методы Атласа успешно используются при сегментации изображений головного мозга (7, 8) и груди (5). В методах атласа пациент регистрируется в пациенте атласа, и сегменты пациента атласа преобразуются в пространство координат пациента.Одним из препятствий здесь является то, что для каждой сегментации пациент должен быть выбран из библиотеки пациентов, анатомия которых аналогична. Кроме того, от 5 до 10% объема все еще нуждаются в редактировании (5).
Другой подход — комбинация локально адаптивных фильтров в сочетании с эвристическими правилами (6). Это было сделано с использованием настраиваемого фильтра Габора, обеспечивающего надежную и точную сегментацию на аксиальных МР-срезах. Одним из преимуществ их метода перед глубоким обучением является то, что он не зависит от каких-либо данных обучения.При глубоком обучении сеть, как правило, может применяться только к случаям, которые похожи на данные, которые она видела, при этом надежность не может быть обеспечена. Кроме того, подходы машинного обучения всегда нуждаются в большом количестве обучающих примеров, тогда как настраиваемые фильтры разрабатываются независимо от обучающих примеров. Однако одним из преимуществ нашего подхода является то, что архитектура модели может быть легко применена к различным органам и разным анатомическим участкам при условии, что доступны данные для обучения.Таким образом, утомительная работа по определению эвристических правил и изучению параметров фильтрации для каждого органа может быть опущена.
Глубокие нейронные сети для сегментации обычно используют структуру, аналогичную автокодировщикам, в том смысле, что за уменьшением размерности следует реконструкция сети. Однако существуют различия в том, полностью ли опущена пространственная информация, например, в нейронной сети с анатомическими ограничениями (ACNN) (9), или если пространственное разрешение только уменьшается, как, например, в U-Net (10).Последний был использован для сегментации КТ-изображений опухоли поджелудочной железы (11) и печени (12). Однако эти подходы либо используют 2D U-Net, либо нуждаются в другой нейронной сети поверх U-Net. Пропускные соединения от нисходящего пути до пути реконструкции U-Net являются важным улучшением по сравнению со сверточными нейронными сетями (CNN), поскольку они помогают сохранить более подробную пространственную информацию для реконструкции. Кроме того, Drozdal et al. (13) предлагают использовать короткие скиповые соединения, улучшающие качество сегментации.
В недавнем подходе предложенная сеть использует форму U-Net, но включает в себя остаточные блоки как в нисходящем пути, так и в части реконструкции (14). Кроме того, полностью связанный слой строится параллельно самому низкому уровню разрешения. Преимущество заключается в том, что благодаря этому подходу объединяются преимущества U-Net Ronneberger и ACNN Oktay. Однако одним недостатком является то, что из-за полностью связанного слоя размер входного сигнала не может быть адаптирован во время вывода к размеру изображения КТ.Кроме того, вывод выполняется послойно. Несмотря на то, что это позволяет обрабатывать изображение с полным разрешением, это снижает скорость вывода по сравнению с обработкой полного изображения. Однако эта конкретная модель имеет большую емкость и может обрабатывать 21 орган за один вывод.
Целью данной работы является повышение скорости вывода глубинной нейронной сети для сегментации органов, необходимых для планирования лучевой терапии, при сохранении современного качества сегментации.Мы делаем упор на ипси, контралатеральной груди и сердце. Подход здесь состоит в том, чтобы заменить обработку фрагментов или фрагментов подходом обработки всего изображения. Предлагаемая сетевая структура представляет собой комбинацию U-Net и ResNet.
2. Материалы и методы
2.1. Модель Архитектура
Мы строим полностью сверточную нейронную сеть, которую в дальнейшем будем называть BibNet из-за ее формы, напоминающей нагрудник. Для этой сети входной и выходной размер эквивалентен размеру полного изображения, обычно 256 × 256 × 128 пикселей (xyz).Благодаря полностью сверточной структуре размер сети можно адаптировать к размеру входящего входа. Сеть унаследовала свою основную форму от сети U-Net, предложенной Ronneberger et al. (10). В дополнение к архитектуре U-Net добавлены соединения на всех уровнях разрешения. Эти соединения сами обрабатывают изображение и связаны между собой слоями с более высоким и низким уровнем разрешения. Таким образом становится возможной обработка объектов с разным масштабом разрешения. Кроме того, сеть глубже с концепцией остаточных соединений, которые, как было доказано, повышают производительность нейронной сети (15).Кроме того, в отличие от сети U-Net, предложенной Роннебергером и соавт. (10) мы используем транспонированные свертки вместо повышающей дискретизации с последующим сверточным слоем.
Архитектура сети проиллюстрирована на рисунке 1. Строчные свертки используют размер фильтра (2,2,2), а как шаговые, так и транспонированные свертки имеют коэффициент шага два в каждом измерении. Чтобы предотвратить возникновение узких мест на более низких уровнях разрешения, количество фильтров на слой увеличивается в два раза после каждого объединения.Сами фильтры представляют собой сверточные фильтры формы (3,3,3) с примененным заполнением. Следовательно, все измерения обрабатываются одинаково, а размер изображения до и после свертки эквивалентен.
Рисунок 1 . Архитектура нашей недавно разработанной сети под названием BibNet. Здесь синие прямоугольники представляют собой сверточные блоки, причем каждый блок содержит слой исключения, сверточный слой, слой активации и слой пакетной нормализации. Черные ящики представляют собой остаточные блоки; каждый состоит из двух сверточных блоков и пропуска соединения.Число внутри поля представляет количество добавляемых сверточных или остаточных блоков. Стрелки указывают на связи между сверточным и остаточным блоками: черные стрелки направляют вывод предыдущего блока на вход следующего блока, тогда как серые стрелки символизируют поэтапную свертку, которая выполняется для уменьшения разрешения вывод предыдущего слоя. Кроме того, красные стрелки указывают транспонированные свертки, которые используются для удвоения разрешения в каждом измерении.
Параметризованный выпрямленный линейный блок (PReLU) используется в качестве функции активации, а коэффициент отключения установлен на 0,5. Количество параметров для этой сети ~ 7,5 миллиона.
2.2. Данные и предварительная обработка
Мы используем набор данных, состоящий из 251 компьютерной томографии пациентов с раком груди у женщин с интактной грудью в положении лежа на спине головой вперед. Набор данных делится на набор для обучения, проверки и тестирования, которые выбираются случайным образом. Обучающий набор содержит 149 сканирований, набор для проверки — 50 сканирований и тестовый набор — 52 сканирования.Кроме того, четвертый набор данных используется для проверки устойчивости. Этот набор данных получен из больницы в Северной Америке и включает 64 пациента. Положение пациентов в наборе устойчивости отличается от положения в наборе для обучения: пациенты в наборе устойчивости отображаются с одной рукой вниз, тогда как пациенты в наборе для обучения отображаются с поднятыми обеими руками.
Изображения и наборы структур взяты из трех разных европейских клиник. Опытные дозиметристы просматривают контуры и добавляют недостающие структуры.Поскольку интервал вокселей различается в зависимости от клиники от 0,98 до 1,27 мм и толщины среза от 2,5 до 3 мм, мы передискретизируем изображения до обычного расстояния вокселей 1,17 мм и толщины среза 3 мм. На втором этапе мы в два раза уменьшаем разрешение изображений в аксиальном срезе, чтобы повысить скорость обучения и снизить потребление памяти. Пониженная дискретизация выполняется с использованием трилинейной интерполяции на КТ-сканированиях и соответствующих наборах структур, что приводит к окончательному разносу вокселей, равному 2.34 мм в осевом срезе и толщиной 3 мм.
2.3. Вычислительная платформа
В качестве интерфейса высокого уровня используется структура глубокого обучения, разработанная компанией Varian. Это необходимо для создания 3D-патчей для обучения. Он построен на основе Keras, который использует Tensorflow в качестве бэкэнда. Затем сам Tensorflow использует CUDA 9.0 и соответствующую библиотеку cuDNN.
2.4. Функция потерь
Функция потерь или функция ошибок пытается измерить, насколько хорошо модель работает по этому показателю.Следовательно, функцию потерь можно использовать для настройки сети на желаемый результат.
Для вывода по пикселям, такого как сегментация изображения, простая функция потерь — это двоичная категориальная точность. Он определяется как процент правильно классифицированных пикселей.
Для медицинских сегментов, поскольку большие части изображения принадлежат фону, бинарная категориальная точность может привести к ложной классификации всего изображения к классу фона. Следовательно, определение потерь с использованием пересечения и объединения сегментации с основной истиной является полезным.Одной из функций потерь является коэффициент Соренсена-Дайса, определяемый как:
DSC = 2∣X∩Y∣∣X∣ + ∣Y∣ (1), где X и Y — это наборы вокселей, классифицированные как принадлежащие к одному классу посредством алгоритма и через человека-эксперта соответственно. Это можно переписать как:
DSC = 2TP2TP + FP + FN (2)с TP : истинные положительные результаты, FP : ложные срабатывания и FN : ложные отрицательные результаты. Потеря игральных костей тогда может быть определена как 1 — DSC .
Другая функция потерь — это потеря Жаккара, которая основана на индексе Жаккара, определенном как (16):
г = ∣X∩Y∣∣X∪Y∣ (3)Потеря Жаккара может быть определена как:
Во время обучения потери Жаккара используются как функция потерь для обратного распространения. С другой стороны, потеря игральных костей используется во время гипер-поиска для начального скоринга модели. Он также используется для оценки после обучения моделей.
2,5. Обучение
Сети обучаются на Nvidia Quadro P5000, P4000 или K80 до схождения.Во время обучения размер патча уменьшается до 256 × 256 × 48, чтобы соответствовать ограничениям памяти. Для оценки этой модели мы увеличиваем размер патча до 256 × 256 × 128, так что все изображение может быть обработано сразу. Мы обучаем два разных типа сетей: сети с одним органом и сети с несколькими органами. В то время как сети из одного органа сегментируют только один из трех органов за раз, сеть из нескольких органов сегментирует все три одновременно. Идея последнего заключается в том, что базовая обработка изображений в нейронной сети является общей для разных органов, и, таким образом, сеть может генерировать разные структуры одновременно.
Патчи для обучения отбираются с использованием комбинации энтропийного семплера, двух семплеров оболочки и масочного семплера. Стратегия выборки жизненно важна для обучения трехуровневой сети U-Net, поскольку изображение обрабатывается небольшими участками. Устройство выборки энтропии выбирает случайные выборки с энтропией выше определенного порога. Это делается для того, чтобы избежать пятен, снятых с плоских поверхностей, таких как воздух, окружающий тело. Пробоотборник оболочки формирует пятна, которые находятся на расстоянии не более 20-40 мм от поверхности наземной структуры.Сэмплер маски, с другой стороны, ограничивает выборку участков только в том случае, если они пересекаются с наземной истиной. Выбор сэмплера может быть менее актуальным для BibNet, поскольку здесь одновременно обрабатываются большие части изображения.
В качестве оптимизатора используется оптимизатор Нестерова Адама (17). Этот оптимизатор объединяет адаптивное обновление импульса (Adam) (18) с идеей Нестерова (19) применять градиент только после того, как обновление импульса было выполнено. Он может улучшить скорость сходимости и минимизировать потери более эффективно, чем Adam.Скорость обучения изначально установлена на 10 −2 , а затем линейно снижается во время обучения до минимума 10 −5 .
Для повышения производительности модели мы инициализируем восемь сетей со случайными весами. Мы обучаем эти сети и отбрасываем половину сетей в 20, 40 и 80 эпохи. Отброшенные сети — это сети с худшей производительностью на проверочном наборе. В конце мы выбираем наиболее эффективный из набора для валидации и обучаем его до тех пор, пока потери валидации не уменьшатся дальше.
2,6. U-Net
Чтобы сравнить недавно построенную сеть, архитектура типа U-Net, предложенная Hänsch et al. (20) воспроизводится. Эта архитектура представляет собой трехуровневую сеть UNet с двумя уровнями свертки и уровнем максимального объединения на каждый уровень в части кодера, а также двумя уровнями свертки и одним уровнем повышающей дискретизации на уровень в части декодирования. Фильтры представляют собой (3,3,3) сверточные фильтры без заполнения. На первом уровне в каждом сверточном слое есть 32 фильтра; во втором, 64 в первом и 128 во втором сверточном слое.В самом нижнем слое есть 256 фильтров в каждом из двух сверточных слоев. На восходящем пути имеется 128 и 64 фильтра на сверточный слой для нижнего и верхнего уровня соответственно. Обучение выполняется на том же наборе данных, и модель обучается до сходимости.
В этой архитектуре трехмерные изображения обрабатываются фрагментами, что означает, что сеть применяется к подмножеству фактического изображения, которое затем выводит еще меньшее подмножество. После этого принимающее поле сети сдвигается и генерируется следующий выходной патч.
2,7. Оценочные показатели
Чтобы сравнить нашу модель, необходимо выбрать соответствующую метрику. Оценка Dice может служить индикатором качества модели. Это также полезно для сравнения с работами других исследователей. Однако обычно он дает более высокие баллы для более крупных органов, поскольку основные проблемы возникают на границе и, следовательно, дает менее значимую меру при сравнении качества сегментации между различными органами.
Таким образом, более информативным показателем является среднее поверхностное расстояние между сегментацией и достоверной информацией.Здесь для каждой точки поверхности сегментации измеряется расстояние r до ближайшей точки на поверхности земной поверхности. Затем для каждого органа вычисляется среднеквадратичное значение этих расстояний:
среднеквадратичное расстояние поверхности = ∑xi∈P (minq∈G | xi-q |) 2 (5), где P, — это набор точек поверхности прогноза, а G — набор точек поверхности наземной истины.
Другой распространенной метрикой является расстояние Хаусдорфа, которое определяется как (21):
DH (P, G) = max (supx∈Pinfq∈Gd (x, q), supq∈Ginfx∈Pd (x, q)) (6), где d — евклидово расстояние.Это расстояние измеряет максимальное расстояние между двумя поверхностями, тогда как среднеквадратичное расстояние до поверхности измеряет среднее расстояние.
Для сообщения оценки модели мы указываем медианное значение оценок для органа и модели. Медиана выбрана, поскольку даже одна неудачная сегментация может значительно ухудшить средний балл. Однако средние значения приведены для сравнения с результатами Men et al. (22).
2,8. Статистические методы
Для сравнения различных моделей выполняется парный двухсторонний тест T для средних значений.Порог значимости установлен на 5%. Однако, поскольку у нас есть три разные модели, существует проблема множественного сравнения. Таким образом, значение α корректируется с помощью поправки Бонферрони до α = 0,05 / 3 = 0,0167.
2.9. Время вывода
Время логического вывода измерено на машине с графической картой Nvidia P5000, двумя Intel Xeon E5-2640 v4 на 2,40 ГГц и 64 ГБ памяти. Здесь учитывается только фактическое время вывода, не включая, например, загрузку таких модулей, как Tensorflow и инициализацию графа Tensorflow.Для тайминга используется версия Tensorflow 1.6.0.
В дополнение к этому, для более воспроизводимых результатов, виртуальная машина NC6_v2 (графическая карта Nvidia Quadro P100, 6 ядер процессора Intel Xeon E5-2690 v3 2,60 ГГц и 128 ГБ памяти) создается в Azure с предварительно настроенными «данными Ubuntu». Наука »изображение. Этот образ содержит Cuda 9.0 и среду выполнения Nvidia Docker. На этом компьютере запущен образ докера, обслуживающий Tensorflow с версией 1.12.0 для графического процессора и процессора, и изображение размером 256 × 256 × 128 (xyz) выводится с использованием gRPC через локальный хост.Чтобы сократить время передачи в память, входное изображение находится в uint8 и gzip, когда применяется сжатие. Время берется для 11 последовательных запросов прогнозирования, когда канал уже создан. Первый из каждого тайминга отбрасывается, чтобы гарантировать, что модель уже загружена с помощью обработки тензорного потока.
2.10. Требуемое время коррекции
Несмотря на то, что разные показатели могут показать сходство между созданными человеком структурами и структурами, вытекающими из моделей глубокого обучения, эти различия необходимо преобразовать во влияние на клинический рабочий процесс.Чтобы решить эту проблему, двух опытных дозиметристов и двух специалистов по радиационной онкологии просят исправить структуры, происходящие из одноорганного нагрудника, с целью получения клинически приемлемой сегментации в соответствии с рекомендациями RTOG по контурированию консенсуса (23). Для этого упражнения используются 7 пациентов, которые не были включены в тренинг: по одному пациенту из каждой из трех клиник тестового набора и четыре пациента из клиники в Северной Америке. Выходные данные моделей повторно дискретизируются до разрешения изображений КТ с использованием трилинейной интерполяции.Кроме того, применяется сглаживание по Гауссу, чтобы избежать эффекта наложения спектров при повторной дискретизации и самого большого связанного компонента. Коррекция выполняется с помощью программного обеспечения для планирования лечения Eclipse (Varian Medical Systems, Пало-Альто), которое знакомо всем участникам. Измеряется время, необходимое для коррекции для каждого органа.
3. Результаты
Время логического вывода на машине Azure с использованием Tensorflow Serving на GPU для полного изображения с разрешением 256 × 256 × 128 (xyz) равно 1.13 (1) с для BibNet с несколькими органами, 3,38 (5) с для BibNet с одним органом и 12,4 (1) с для U-Net. На CPU время вывода составляет 16,30 (3) с для многоорганной BibNet, 48,9 (1) с для одноорганной BibNet и 253 (2) с для U-Net.
Время вывода на локальной машине для полного изображения с разрешением 256 × 256 × 128 (xyz) на графическом процессоре составляет 10,68 с для U-Net, 1,92 с для BibNet с одним органом и 0,64 с для многоцелевого. орган BibNet. На CPU время вывода составляет 19 мин 2 с для U-Net, 7 мин 8 с для одноорганного BibNet и 2 мин 18 с для многоорганного BibNet.
Средние оценки Dice для трех разных органов пациентов в тестовой выборке, а также время вывода для различных моделей, использующих Tensorflow, можно увидеть в таблице 1.
Таблица 1 . Средние оценки Дайса для пациентов в тестовой выборке и время вывода со стандартным отклонением в скобках с использованием Tensorflow Serving для различных моделей.
Среднее расстояние Хаусдорфа и среднее среднеквадратичное поверхностное расстояние для трех различных органов для пациентов в тестовой выборке можно увидеть в таблице 2.Средние значения не могут характеризовать ни межсубъектную изменчивость качества вывода, ни надежность сети. Поэтому прямоугольные диаграммы для оценок в кости показаны на рисунке 2, а для среднеквадратичного расстояния от поверхности на рисунке 3. На последнем для U-Net два выброса на 26,8 и 41,6 мм на левой груди и на правой груди два. выбросы на 34,6 и 53,4 мм не видны. Кроме того, один пациент, изображение которого было визуализировано с контрастным веществом, был исключен из анализа для сердца, поскольку здесь U-Net не смог создать структуру.
Таблица 2 . Среднее значение Хаусдорфа и среднеквадратичное поверхностное расстояние в миллиметрах для пациентов в тестовой выборке.
Рисунок 2 . Коробчатая диаграмма оценок игры в кости трех сетей в тестовом наборе.
Рисунок 3 . Коробчатая диаграмма среднеквадратичных поверхностных расстояний трех сетей на тестовой выборке.
p-значения двустороннего парного теста t для оценки игральных костей и расстояния до поверхности показаны в таблице 3.
Таблица 3 . P-значения (в десятичных дробях) двустороннего парного теста t для оценки игральных костей и расстояния до поверхности по сравнению с различными моделями.
Средняя оценка игральных костей, расстояние до поверхности и расстояние Хаусдорфа для трех моделей, примененных к набору данных устойчивости, показаны в таблице 4.
Таблица 4 . Средний балл кубиков, расстояние до поверхности (в мм) и расстояние Хаусдорфа (в мм) для трех моделей, примененных к 64 пациентам из набора данных по устойчивости.
Для одного испытуемого пациента аксиальные срезы с сегментацией, выполненной тремя сетями и клиническим экспертом, а также сагиттальная и фронтальная топограммы показаны на рисунке 4. Для аксиальных срезов берется самый большой связанный компонент и применяется сглаживание по Гауссу. . Однако топограммы показывают необработанные выходные данные сетей.
Рисунок 4 . Осевые срезы одной пациентки с раком груди из тестового набора, а также фронтальная и сагиттальная топограммы. Эти структуры принадлежат клиническому эксперту (желтый) или одной из трех моделей (синий).Для осевых срезов применяется сглаживание по Гауссу и берется самый большой связанный компонент. Топограммы отображают необработанные выходные данные моделей без постобработки.
Время коррекции, необходимое для каждого из органов семи пациентов двумя дозиметристами и двумя специалистами по радиационной онкологии, показано в таблице 5. Среднее время коррекции для сердца составляет 33 секунды, для левой груди — 101, а для правой груди — 97 секунд. . Для трех пациентов сгенерированные структуры, а также исправленные структуры от одного дозиметриста показаны на рисунке 5.
Таблица 5 . Среднее время коррекции и стандартное отклонение в минутах, необходимое для каждого из органов семи пациентов двумя дозиметристами и двумя специалистами по радиационной онкологии.
Рисунок 5 . Осевые срезы трех пациентов из теста времени коррекции. На каждом осевом срезе есть структуры, взятые из модели, и исправленные структуры (желтые), полученные от дозиметриста.
4. Обсуждение
Основное наблюдение — время вывода: недавно построенная многоорганическая BibNet выполняет вывод в 10 раз быстрее, чем U-Net на GPU и в 15 раз быстрее на CPU.Благодаря архитектуре полного изображения BibNet логический вывод должен выполняться только один раз, тогда как U-Net должен выполнять логический вывод несколько раз, поскольку он обрабатывает изображение патчами. Одноорганная BibNet должна выполнять логический вывод для каждого органа отдельно и, следовательно, в три раза медленнее, чем многоорганная BibNet.
Разница во времени между локальной реализацией с использованием Tensorflow 1.6.0 и Tensorflow, обслуживающим 1.12.0, объясняется двумя разными причинами: во-первых, использование обслуживания Tensorflow создает накладные расходы по сравнению с простым временем вывода, измеренным с помощью Tensorflow, поскольку необходимо отправить запрос gRPC. .Этот эффект уменьшается за счет использования uint8 и сжатия, что приводит к сокращению времени передачи. Во-вторых, время вывода на CPU было улучшено между Tensorflow 1.6 и 1.12, тогда как время вывода на GPU почти не изменилось. Таким образом, локальный вывод выполняется быстрее на графическом процессоре, поскольку время передачи больше, чем улучшение скорости графического процессора, в то время как для центрального процессора справедливо обратное.
Среднее время коррекции, объединенное для трех структур, созданных одноорганным нагрудником, составляет 4 минуты.Это сопоставимо со средним временем ручной контурной пластики для одного органа риска, составляющим 6,5 минут в клинической практике (1). Таким образом, предлагаемая глубокая нейронная сеть может сэкономить ~ 15,5 минут на каждого пациента в клиническом рабочем процессе, если интегрирована без проблем.
Показатели Dice, расстояния до поверхности и расстояния Хаусдорфа показывают, что качество сегментации лучше для двух моделей BibNet, чем для трехуровневой U-Net, предложенной Hänsch et al. (20). В дополнение к этому, BibNet кажется более надежным, чем U-Net, поскольку с последним случается несколько выбросов.
Различия между одноорганным и многоорганным BibNet не являются статистически значимыми (значение p <1,67%), за исключением оценки левой груди. Здесь средний результат игры в кости выше для BibNet с одним органом.
Тест на надежность показывает, что обе BibNets могут одинаково хорошо работать с пациентами из разных клиник и из учебных клиник. Это удивительно, так как разное положение пациента влияет на анатомию контралатеральной груди, а у некоторых пациентов есть грудные имплантаты.Как расстояние Хаусдорфа, так и расстояние до поверхности показывают, что U-Net работает хуже для обеих грудей по набору данных о надежности. Это указывает на то, что BibNet более надежен, чем U-Net, что может быть связано с большим восприимчивым полем BibNet и меньшим входным размером U-Net 68 × 68 × 64 (xyz). Для BibNet каждый нейрон в последнем слое кодирующей части имеет рецептивное поле 484 × 484 × 484 (xyz) и, таким образом, может видеть полное входное изображение, тогда как вход U-Net фиксируется на меньший патч.Следовательно, для BibNet доступен более широкий контекст по сравнению с U-Net.
Производительность сегментации сердца всех трех моделей одинакова для испытуемых из учебных клиник и клиники, проводящей испытания на надежность. Это может быть связано с уменьшением зависимости структуры сердца от положения пациента.
При просмотре необработанных выходных данных трех моделей на топограммах можно увидеть, что структура груди в U-Net слишком сильно очерчена по сравнению с контуром эксперта.Две сети BibNet могут лучше повторять форму в верхней части. Однако обе сети не могут произвести острый разрез в верхней части груди. Это может быть связано с тем, что нет четких анатомических ориентиров, где нужно разрезать, и острый разрез не обязательно соответствует реальной анатомической структуре.
U-Net дает несколько ложноположительных кластеров, тогда как каждая из двух моделей BibNet дает только один небольшой ложноположительный кластер на верхнем конце изображения.Это может быть связано с меньшим принимающим полем и размером ввода U-Net. Следовательно, контекст для вывода отсутствует, что приводит к ложным срабатываниям, например, в жировой ткани руки или живота.
Небольшой кластер ложных срабатываний, создаваемый каждой из двух BibNet, можно легко уменьшить, поддерживая только самый крупный подключенный компонент. Этот подход, однако, подвержен неудачам для U-Net, поскольку здесь кластеры имеют такой же размер, что и реальный орган, и близки к реальной структуре.Таким образом, вполне вероятно, что эти кластеры могут подключиться к фактической сегментации. На представленных топограммах на рисунке 4 ложноположительные кластеры сердца являются одним из примеров таких больших кластеров.
Недавно Men et al. использовали 2D-сети в сегментации груди по срезу (22). В их подходе несколько полностью сверточных сетей были обучены на 800 случаях молочной железы. Сети достигли среднего балла Dice 0,91 для груди в своем наборе тестов. Для сравнения, средний балл Dice для BibNet с одним и несколькими органами равен 0.92 для обеих сетей на левой груди и 0,93 на правой груди. Следовательно, это показывает, что наши сети в среднем работают немного лучше. Одним из основных ограничений этого сравнения является то, что не применялся общий набор тестов. Следовательно, некоторые анатомии могут быть более сложными, а основные истины могут быть разного качества и постоянства. В дополнение к этому, наборы данных, похоже, различаются в том смысле, что применялись разные методы контурирования. Например, в нашем наборе данных грудь имеет более латеральный контур.
В литературе высокие баллы Дайса сообщаются с использованием классического метода локально настраиваемого фильтра Габора (6). Однако сопоставимость их исследования и настоящей работы ухудшается из-за различных методов визуализации и положения пациента. В своей работе МРТ-изображения были сделаны в положении лежа с использованием специальной грудной спирали. Таким образом, грудь не лежит поверх пациента, что позволяет легче различать границу между жировой тканью и самой грудью на верхней и нижней границе.Кроме того, разрешение снимков МРТ лучше. Время обработки на ЦП одного полного 3D-изображения составляет 4,1 минуты в их подходе по сравнению с 16 секундами в нашем подходе с использованием многоорганного BibNet. Следовательно, мультиорганная сеть BibNet работает в 15 раз быстрее. Это сокращает прерывание клинического рабочего процесса при использовании автоматической сегментации.
В заключение мы представили новую архитектуру нейронной сети, BibNet, которая сочетает в себе базовую форму U-Net с добавленной обработкой с несколькими уровнями разрешения и остаточными связями.Новая архитектура вместе с переходом от обработки патчей к обработке всего изображения позволяет на порядок увеличить скорость вывода, а также улучшить качество сегментации. Поскольку скорость вывода составляет порядка секунды, а время коррекции составляет около 3 минут, автоматическая сегментация может не только упростить рабочий процесс для планирования лечения, но также может открыть возможности для адаптивной лучевой терапии, позволяя изменять излучение. план анатомии дня.
Доступность данных
Наборы данных для этой рукописи не являются общедоступными, поскольку они являются собственностью компании Varian. Запросы на доступ к наборам данных следует направлять на JS, [email protected].
Авторские взносы
JS инициировал работу, спроектировал нейронную сеть, провел обучение и оценил результаты. FA отвечал за сбор и обработку данных. HL контролировала представленные работы. Все авторы внесли свой вклад в рукопись.
Заявление о конфликте интересов
Авторы наняты компанией Varian Medical Systems, Пало-Альто, Калифорния, которая финансировала исследование этой работы.
Благодарности
Мы благодарим доктора Анету Борковскую и доктора Матеуша Спалек из Института онкологии Марии Складовской-Кюри за их вклад в клиническую оценку.
Список литературы
1. Андрианарисон В.А., Лауити М., Фаргье-Бочатон О., Дипасквале Г., Ван X, Нгуен Н.П. и др. Контурная нагрузка в адъювантной лучевой терапии рака молочной железы. Радиотерапия рака. (2018) 22: 747–53. DOI: 10.1016 / j.canrad.2018.01.008
PubMed Аннотация | CrossRef Полный текст | Google Scholar
2. Хуркманс К.В., Боргер Дж. Х., Питерс Б. Р., Рассел Н. С., Янсен Э. П. М., Минхеер Б. Дж.. Вариабельность определения объема цели на компьютерной томографии молочной железы. Int J Radiat Oncol Biol Phys. (2001) 50: 1366–72. DOI: 10.1016 / s0360-3016 (01) 01635-2
PubMed Аннотация | CrossRef Полный текст | Google Scholar
3. Струикманс Х., Варлам-Роденхейс С., Стам Т., Стэппер Г., Терстег Р.Дж.Х., Бол Г.Х. и др.Вариабельность между наблюдателями в определении объема клинической мишени железистой ткани молочной железы и увеличения объема при тангенциальном облучении молочной железы. Radiother Oncol. (2005) 76: 293–9. DOI: 10.1016 / j.radonc.2005.03.029
PubMed Аннотация | CrossRef Полный текст | Google Scholar
4. Ли XA, Тай А., Артур Д. В., Бухгольц Т. А., Макдональд С., Маркс Л. Б. и др. Изменчивость очертания мишени и нормальной структуры для лучевой терапии рака груди: мультиинституциональное исследование RTOG с участием нескольких наблюдателей. Int J Radiat Oncol Biol Phys. (2009) 73: 944–51. DOI: 10.1016 / j.ijrobp.2008.10.034
PubMed Аннотация | CrossRef Полный текст | Google Scholar
5. Рид В.К., Вудворд В.А., Чжан Л., Стром Э.А., Перкинс Г.Х., Терефф В. и др. Автоматическая сегментация всей груди с использованием атласного подхода и регистрации деформируемого изображения. Int J Radiat Oncol Biol Phys. (2009) 73: 1493–500. DOI: 10.1016 / j.ijrobp.2008.07.001
PubMed Аннотация | CrossRef Полный текст | Google Scholar
6.Миленкович Й., Чемберс О, Марольт Мушич М, Тасич Й.Ф. Автоматическая сегментация области груди на аксиальных МРТ-изображениях. Comput Biol Med. (2015) 62: 55–64. DOI: 10.1016 / j.compbiomed.2015.04.001
PubMed Аннотация | CrossRef Полный текст | Google Scholar
7. Фишл Б., Салат Д.Х., Буса Е., Альберт М., Дитерих М., Хазельгроув С. и др. Сегментация всего мозга: автоматическая маркировка нейроанатомических структур человеческого мозга. Neuron. (2002) 33: 341–55. DOI: 10.1016 / S0896-6273 (02) 00569-X
PubMed Аннотация | CrossRef Полный текст | Google Scholar
8. Lötjönen JM, Wolz R, Koikkalainen JR, Thurfjell L, Waldemar G, Soininen H, et al. Быстрая и надежная мультиатласная сегментация магнитно-резонансных изображений головного мозга. NeuroImage. (2010) 49: 2352–65. DOI: 10.1016 / j.neuroimage.2009.10.026
PubMed Аннотация | CrossRef Полный текст | Google Scholar
9. Октай О., Ферранте Э., Камницас К., Генрих М., Бай В., Кабальеро Дж. И др.Нейронные сети с анатомическими ограничениями (ACNN): приложение для улучшения и сегментации изображений сердца. IEEE Transact Med Imag. (2018) 37: 384–95. DOI: 10.1109 / TMI.2017.2743464
PubMed Аннотация | CrossRef Полный текст | Google Scholar
10. Роннебергер О., Фишер П., Брокс Т. Спрингер. U-net: сверточные сети для сегментации биомедицинских изображений. В: Международная конференция по медицинской обработке изображений и компьютерному вмешательству. Мюнхен (2015) стр.234–41. Доступно в Интернете по адресу: https://arxiv.org/pdf/1505.04597.pdf
Google Scholar
11. Quo Z, Zhang L, Lu L, Bagheri M, Summers RM, Sonka M, et al. Deep LOGISMOS: трехмерная сегментация опухолей поджелудочной железы на основе графиков с глубоким обучением на компьютерной томографии. В: , 2018 г., 15-й международный симпозиум IEEE по биомедицинской визуализации (ISBI 2018). Вашингтон, округ Колумбия (2018) стр. 1230–33. Доступно в Интернете по адресу: https://ieeexplore.ieee.org/abstract/document/8363793
Google Scholar
12.Christ PF, Elshaer MEA, Ettlinger F, Tatavarty S, Bickel M, Bilic P и др. Автоматическая сегментация печени и поражения в КТ с использованием каскадных полностью сверточных нейронных сетей и трехмерных условных случайных полей. Med Image Comput Assist Int. (2016). 2016: 415–23. DOI: 10.1007 / 978-3-319-46723-8-48
CrossRef Полный текст | Google Scholar
14. Николов С., Блэквелл С., Мендес Р., Де Фау Дж., Мейер С., Хьюз С. и др. Глубокое обучение для достижения клинически применимой сегментации анатомии головы и шеи для лучевой терапии.(2018) arXiv [Препринт] .arXiv: 1809.04430 .
Google Scholar
15. Сегеди С., Иоффе С., Ванхаук В., Алеми А.А. Inception-v4, inception-resnet и влияние остаточных соединений на обучение. В: Proceedings of AAAI’17 Proceedings of the тридцать первой конференции AAAI по искусственному интеллекту. Сан-Франциско, Калифорния: AAAI Press (2017).
Google Scholar
16. Левандовский М., Винтер Д. Расстояние между множествами. Природа. (1971) 234: 34.
Google Scholar
17. Дозат Т. Включение импульса нестерова в адам. В: Мастерская ICLR. Сан-Хуан, PR (2016) стр. 2013–16.
Google Scholar
18. Кингма Д.П., Ба Дж. Адам: метод стохастической оптимизации. In: ICLR 2015. San Diego, CA (2014) arXiv [Preprint] .arXiv: 1412.6980 .
Google Scholar
19. Нестеров Ю.В. Градиентные методы минимизации сложных функций. Математическая программа. (2013) 140: 125–61. DOI: 10.1007 / s10107-012-0629-5
CrossRef Полный текст | Google Scholar
20. Хэнш А., Дикен В., Грасс Т., Моргас Т., Кляйн Дж., Майне Х. и др. Сегментация органов женского таза на основе глубокого обучения при КЛКТ-сканировании для адаптивной лучевой терапии с использованием данных КТ и КЛКТ. Berlin: Computer Assisted Radiology and Surgery – CARS 2018. (2018) p. 133.
Google Scholar
21. Хан Дж., Морага С. Влияние параметров сигмовидной функции на скорость обучения обратному распространению.В: Международный семинар по искусственным нейронным сетям. Малага-Торремолинос: Спрингер (1995).
Google Scholar
22. Men K, Zhang T, Chen X, Chen B, Tang Y, Wang S, et al. Полностью автоматическая и надежная сегментация клинического целевого объема для лучевой терапии рака груди с использованием больших данных и глубокого обучения. Phys Med. (2018) 50: 13–19. DOI: 10.1016 / j.ejmp.2018.05.006
PubMed Аннотация | CrossRef Полный текст | Google Scholar
.