10 May 2024 09:52 Программист: Добрый день, Александр!
Хочу подробнее узнать про логику программы, в случае присутствия в папке файла HELIX.txt
Здесь возможны несколько сценариев, хотелось бы понять, как действовать при каждом из них? Возможны несколько ситуаций:
1) Есть НЕПУСТОЙ файл HELIX.txt и один файл PDB/ENT;
2) Есть НЕ ПУСТОЙ файл HELIX.txt и несколько файлов PDB/ENT;
3) Есть только НЕ ПУСТОЙ файл HELIX.txt;
4) Есть ПУСТОЙ файл HELIX.txt и один файл PDB/ENT;
5) Есть ПУСТОЙ файл HELIX.txt и несколько файлов PDB/ENT;
6) Есть только ПУСТОЙ файл HELIX.txt;
7) ... возможно, надо еще какие-то варианты рассмотреть? Например, когда файлы PDB/ENT подошли/не подошли при проверке по AMI?
Мне нужны четкие описания действия при каждом из сценариев.
Вы пишите: "Если в папке есть файл PDB и файл HELIX.txt, то в выходную таблицу нужно записать название файла PDB"
Программист: А если файлов PDB несколько?
Вы пишите: "Другими словами, если в папке есть HELIX.txt, то корреляция по единицам 100%"
Программист: Это утверждение справедливо при любом из сценариев в сообщении выше?
Вы пишите: "Если в папке нет файла PDB, то в выходной таблице нужно вывести вместо него "HELIX", корреляция по единицам будет 100%, по нулям HO, суммарная 100%. Число спиральных участков будет 1, длина - весь белок."
Программист: Это справедливо только для сценариев 3 и 6 из моего сообщения выше?
Вывод HELIX вместо PDB ID - точно да, т.к. PDB файлов у нас нет, выводим HELIX.
А вот по части статистики?
"... корреляция по единицам будет 100%, по нулям HO, суммарная 100%.
Число спиральных участков будет 1, длина - весь белок." - вот это ко всем сценариям применяется?
Как я понял, если мы нашли в папке файл HELIX.txt, то расчета корреляции как такового не будет. Мы уже знаем, что вывести в таблице корреляции. Это то, что процитировано мной вашими словами в сообщении выше.
Единственное, что нам предстоит сделать: это сформировать коды-1:
1) если HELIX.txt пустой - формируем код-1 для PDB из всех единиц, длина равна длине кода-1 из FASTA;
2) если HELIX.txt не пустой, например, там записано (упрощенный пример): "4 9", то мы формируем такой код-1 PDB: 000111111. При этом код-1 FASTA мы приводим к такой же длине.
Это мы делаем исключительно для создания файлов code4.txt в каждой папке, т.к. корреляцию мы не считаем, когда есть файл HELIX.txt
Пока я это понимаю как-то так.
11:39 Александр Кушелев: Если есть пустой или непустой файл HELIX.txt, то от файлов PDB.ent нужны лишь названия "для красоты"
Нужно брать из набора PDB файлов первый попавшийся. Это формальность.
Да.
Только если нет ни одного файла PDB/ent. Лишь в этом случае имя PDB заменяется на HELIX
Применимо ко всем вариантам, если в файле HELIX пусто. Если не пусто, то длина уже не весь белок. В этом случае надо выровнять аминокислотную последовательность по номерам из файла HELIX.txt
"... корреляция по единицам будет 100%, по нулям HO, суммарная 100%. "
Это всегда, если есть HELIX.txt
"если мы нашли в папке файл HELIX.txt, то расчета корреляции как такового не будет. "
Кушелев: Да.
"1) если HELIX.txt пустой - формируем код-1 для PDB из всех единиц, длина равна длине кода-1 из FASTA;"
Да. Но хотелось бы добавить ещё одну штуку. Если в файле HELIX.txt во второй строке написан символ, например, F, то его и нужно будет выводить вместо единиц псевдографики кода-1 по PDB
"2) если HELIX.txt не пустой, например, там записано (упрощенный пример): "4 9", то мы формируем такой код-1 PDB: 000111111. При этом код-1 FASTA мы приводим к такой же длине.
Это мы делаем исключительно для создания файлов code4.txt в каждой папке, т.к. корреляцию мы не считаем, когда есть файл HELIX.txt"
Кушелев: Совершенно верно!
11 May 2024 12:07 Александр Кушелев: HELIX.txt 3 B
Такой файл для обозначения фрактальной спирали подойдёт?
00306.rar 1.7 MB
А это папка 00306 с файлами для фрактальной спирали белка.
12:23 Программист: Я буду делать, чтобы в конфиге можно было разную псевдографику задать для кодов-1 fasta и pdb. Помню, мы об этом договаривались. В таком случае понадобится задавать символ во второй строке файла HELIX.txt ?
12:28 Александр Кушелев: Да. Ведь спираль может быть обычной, например, альфа- или пи-. Тогда они должны изображаться как раньше. А если спираль фрактальная, что можно указать в файле HELIX.txt, например в виде символа во второй строке, тогда уже нужно изображать фрактальную спираль, например, символами FFFFFFFFFFFFFFFFFF
Но желательно, чтобы можно было в файле HELIX.txt указать любой символ, чтобы фрактальная спираль изображалась, например, 88888888888888888 или ЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖ
Чтобы возникала ассоциация с фрактальной спиралью
Файлы с псевдографикой можно будет использовать не только для визуального контроля работы алгоритма расчёта корреляции, но и для иллюстраций выпусков рассылок и может быть даже в очередной статье.
Идеально было бы в файле HELIX.txt задавать не один интервал, а несколько. Тогда можно было бы красиво показать и корреляцию для таких белков, где есть и фрактальная спираль (полосатая) и фундаментальная спираль (альфа-спираль, красная)
Для обычной спирали интервал задаётся, например, так: N 1000 1300
А для фрактальной спирали интервал задаётся, например, так: F 300 500
Для этого конкретного белка файл HELIX.txt выглядел бы, например, так:
F 300 500
N 1000 1300
И тогда псевдографика по PDB должна быть символом F с номер 300 по номер 500, а с номера 1000 по 1300 как обычно, черные прямоугольники.
OLQ14887.png 4.3 MB
Это та же структура, но уже в формате code-4
15:31 Программист: Это уже будем пробовать делать на следующем этапе. Сперва я хочу окончательно добавить поддержку работы с helix.txt файлами, которые либо пустые, либо в них заданы координаты начала/конца спирали.
Несколько труднее оказалось, чем я предполагал, плохо ложится на выработанную ранее структуру программыю Но прогресс уже есть, ещё делаю
15:38 Александр Кушелев: А задавать несколько спиральных участков будет сильно сложнее, чем один?
15:39 Программист: Ещё один момент хочу прояснить: например у нас в некой папке оказался файл helix.txt и в нем были числа 4 9.
То есть мы имеем дело с таким кодом-1 pdb/ent: 000111111
Корреляцию мы не считаем, все параметры уже известны нам. Но нужно ещё сформировать файл code4.txt.
И вот тут вопрос:
В этом файле должны быть отражены все коды-1 по fasta и pdb/ent одинаковые? У нас их там три вида для каждого: оригинальный, подрезанный для cor1 и для cor0
15:39 Александр Кушелев: Если можно сразу несколько задавать, то имеет смысл сразу программировать несколько.
15:40 Программист: На текущем этапе это будет отвлекать, хочу сделать фундамент сначала. А потом подшлифуем нюансы
15:40 Александр Кушелев: Если в папке есть файл HELIX, то корреляцию мы не считаем и ничего подрезать не надо. Только выровнять последовательности
15:41 Программист: А как их выровнять надо?
15:41 Александр Кушелев: В коде-4 в случае интервала 4 9 должно быть всего 9-4=5 строк
15:41 Программист: Вот как
Теперь понятно стало
15:41 Александр Кушелев: Выровнять по интервалу заданному в HELIX
15:42 Программист: 3 первых триплета из fasta мы игнорируем
И начинаем формировать с четвертого
15:42 Александр Кушелев: Ну да. Нам нужно показать только интервал, заданный в файле HELIX
15:43 Программист: А конечная граница спирали может закончиться в середине fasta, правильно понимаю?
15:43 Александр Кушелев: Хотя для нескольких интервалов это уже не подходит. Тогда лучше сделать иначе. Код-4 показать для всей последовательности по фасте, а для PDB только участки, заданные в HELIX.txt
Спираль может где угодно начаться по HELIX и где угодно закончиться. И корреляция относится только к участку, заданному в HELIX. Поэтому Code-4 пусть будет для всей фасты, а пседографика по HELIX только в заданном интервале (интервалах) из файла HELIX
15:47 Программист: Хорошо, продолжу делать
15:47 Александр Кушелев: А можете делать сразу для нескольких интервалов по HELIX ? Чтобы потом не переделывать.
15:48 Программист: Попробую, но если что, ещё напишу, уточнить пару моментов
15:48 Александр Кушелев: Не проблема.
16:01 Программист: рассмотрим папку 00241: в ней есть файлы OLQ06685.1.fasta и HELIX.txt с таким содержимым: 83 305
Пока-что не рассматриваем несколько интервалов и несколько видов спиралей. Вот такой файл code4.txt у меня формируется. Верный ли он?
code4.txt 36.6 KB
В таблице с результатами корреляции данная папка выглядит следующим образом:
Photo 973×56
Хочу узнать, правильно ли это, и если что - поправить. Надо нам рассмотреть несколько папок с файлами HELIX, рассмотреть случаи, когда он пустой и оценить результаты которые получаются.
Я думаю, что даже на текущем этапе потребуются какие-то правки. Так что пока усложнять логику с заданием нескольких спиралей не будем, пока этот этап не утвердим. В данный момент для таблицы в файле code4.txt у меня в колонки BCF, BCFC-0, BCFC-1 попадает обычный (неподрезанный) код-1 из fasta
в колонки BCP, BCPC-0, BCPC-1 попадает обычный (неподрезанный) код-1 из pdb/ent (сформированный по файлу HELIX.txt)
То есть значения в колонках из зеленого прямоугольника равны. Отличий нет. Аналогично и в синем - все колонки равны
16:15 Александр Кушелев: Колонка BCP должна быть забита иксами, где не указана спираль по HELIX.txt
00241_code4.txt 36.6 KB
16:16 Программист: окей
16:16 Александр Кушелев: А те колонки, что правее, вероятно, нужно просто сделать невидимыми, если есть файл HELIX.txt
Корреляция-то всё равно уже известна, 100%
16:17 Программист: окей, сейчас это сделаю сразу
16:17 Александр Кушелев: И эти колонки тоже: BCFC-0 BCFC-1
Если есть файл HELIX, то оставляем только graphics, BCF и BCP
16:18 Программист: только три колонки ?
16:19 Александр Кушелев:
А BCFC-0 BCFC-1 BCPC-0 BCPC-1 убираем
Только три оставляем с пвевдографикой
Те, что левее graphics оставляем.
16:19 Программист: А начальные колонки слева остаются всегда ?
окей
16:19 Александр Кушелев: Да
16:20 Программист: Все, сейчас делаю это, потом отпишусь
16:20 Александр Кушелев: ОК. Что касается нескольких спиралей, то интересно сделать такой формат и логику HELIX.txt
Символ - интервал
Символ - интервал
....
При этом простые и фрактальные спирали будут задаваться однотипно. Просто разными символами.
Черный прямоугольник - один из вариантов. Просто какой символ в первой позиции указан, таким и изображать спираль в колонке псевдографики.
N 1 20
F 33 60
Ж 70 100
и т.д.
Так можно запрограммировать?
16:37 Программист: К этому вернемся попозже, когда сделаем текущий этап. Предварительно: да, можно. но точно скажу, когда проанализирую подробнее
16:37 Александр Кушелев: ОК
16:37 Программист: У нас уже проект так разросся, что я начинаю забывать многие моменты, надо в код лезть глядеть :)
16:38 Александр Кушелев: А можно как-то в комментах писать себе подсказки?
16:38 Программист: я так и делаю.
16:38 Александр Кушелев: Отлично!
16:38 Программист: Но это помогает лишь отчасти
Когда в проекте более 5 тыс. строк кода, скажем
16:38 Александр Кушелев: Тогда нужно параллельно документировать исходник
16:39 Программист: Комментарии это по сути и есть что-то вроде внутренней документации. Я так все функции документирую, их параметры и возвращаемый результат. Если бы я этого не делал, там бы уже такое болото было....
16:40 Александр Кушелев: :)
OLQ02949.png 1.1 MB
Интересно будет посмотреть, как отработает эту структуру новая версия программы
00316.rar 1.7 MB
В архиве есть фаста и HELIX.txt
data.rar 32.5 MB
Добавьте, пожалуйста папки 303...316
19:32 Программист: окей
12 May 2024 11:54 Александр Кушелев: Если в файле HELIX.txt содержится всего один символ, например, F, то это означает фрактальную спираль во всю длину белка, т.е. столбец BCP нужно забить этим символом. В данном случае символом F
data.rar 39.7 MB
Добавьте, пожалуйста папки 00317 ... 00333
15:15 Программист: Окей
Всего возможны четыре ситуации:
1) файл helix.txt пуст: спираль во всю длину белка, псевдографику берём из конфига.
2) файл helix.txt содержит один символ: спираль во всю длину белка, псевдографика и будет этим символом из файла.
3) файл helix.txt содержит одну строку с двумя числами - координатами начала и окончания спирали: код-1 строим заполнением нулями до левой границы спирали и затем единицами до правой. Псевдографика из конфига.
4) файл helix.txt содержит одну или более строк с тремя компонентами в каждой строке: один символ псевдографики и два числа координат спирали: код-1 строим кусочно, формируя спираль по всем координатам из строк файла(в середине возможны участки с нулями). Псевдографика при этом задана для каждой спирали в соответствующей координатам строке
Я надеюсь это все случаи? Не хотелось бы усложнять логику разбора файла helix.txt
Она уже довольно нетривиальная
17:38 Александр Кушелев: "3) файл helix.txt содержит одну строку с двумя числами - координатами начала и окончания спирали: код-1 строим заполнением нулями до левой границы спирали и затем единицами до правой. Псевдографика из конфига."
Нет, не нулями, а иксами.
"4) файл helix.txt содержит одну или более строк с тремя компонентами в каждой строке: один символ псевдографики и два числа координат спирали: код-1 строим кусочно, формируя спираль по всем координатам из строк файла(в середине возможны участки с нулями). Псевдографика при этом задана для каждой спирали в соответствующей координатам строке"
Нет. Здесь тоже заполнение между спиральными участками не нулями, а иксами.
17:39 Программист: Не так выразился.. в коде-1 будут нули, но псевдографика для них будет иксами
17:40 Александр Кушелев: Это меняет дело.
17:40 Программист: А по факту это нули у нас
17:41 Александр Кушелев: Корреляция там задаётся 100%. По факту там иксы, но в коде-1 может быть что угодно. Это непринципиально.
17:41 Программист: На следующей неделе будет готова новая версия, в ней все это будет реализовано. Работа масштабная получилась...
17:42 Александр Кушелев: ОК.
13 May 2024 00:30 Александр Кушелев:
data.rar 6.3 MB
Добавьте, пожалуйста папки 00334 ... 00370
04:55 Программист: ОК
08:09 Александр Кушелев: У меня 370 папок весят 3.4 гигабайт. Но для работы программы достаточно только файлов pdb/ent, fasta и HELIX. Там, где есть HELIX, файлы PDB можно уменьшить до названия.
15:29 Программист: Да, я так и делаю на самом деле. Оставляю только эти файлы, с которыми программа работает в данный момент
15:32 Александр Кушелев:
data.rar 3.1 MB
Добавьте, пожалуйста папки 00371 ... 00425
17:25 Программист: Выяснился один нюанс: Вам придется контролировать, чтобы файлы helix.txt были в кодировке utf-8, это важно, чтобы псевдографика отображалась корректно.
У меня сейчас 302 папки, видимо, какой-то кусок пропустили мы
Если нетрудно, то можете мне скидывать папки только с файлами, с которым сейчас программа работает? А то мне приходится корректировать вручную... Программы по очистке папки от лишнего покамест нет у нас ещё, помню Вы о ней писали ранее
Иначе будут выводиться кракозябры. Из конфига у нас работает псевдографика лишь потому, что он в кодировке utf-8
Будь иначе - не видать бы нам черных прямоугольников, как своих ушей :)
Вот такая "ботва" будет получаться
таблица выше для вот этого файла HELIX.txt сделана, что Вы ранее скидывали
русский символ "п" превращается в ерунду
кодировка этого файла - HELIX.txt - ANSI. Это можно увидеть в notepad++
Тогда как кодировка файла config.ini у нас UTF-8
поэтому можно один раз сделать файл-заготовку для HELIX.txt, которая будет в кодировке UTF-8 и использовать ее везде. Можно скопировать файл config.ini, все там стереть и использовать его для заготовки
при кодировке же UTF-8 у файла HELIX.txt в таблице кода-4 мы будем наблюдать симпатичную Пи-спираль, вместо той гадости, что была выше
18:09 Александр Кушелев: А как это контролировать?
п - это корректное изображение пи-спирали. Русская буква п
Теоретически можно и греческую букву пи влепить, но это непринципиально
А это уже совсем интересно. Получается, что можно совмещать псевдографику с символами? Можно тут чуть подробнее рассказать, как это получить?
Вообще-то эта "ерунда" мне нравится. Надо только научиться ей управлять :)
Отлично! Попробую так сделать
data0.rar 28.4 MB
Недостающие папки. Всего должно быть 439
18:38 Программист: Что греческая пи, что кириллическая пэ не будут нормально отображаться, если не обеспечить кодировку utf-8. Поэтому это обязательное требование
Это "мусор" из оперативной памяти на самом деле, просто там совпало, что биты отобразилось именно этим иероглифом. Это неопределенное поведение и его нельзя допускать. Если нужны какие-то специфические символы, похожие на эту кракозябру - пожалуйста. Их можно будет использовать и задавать в файлах helix.txt, которые будут в кодировке utf-8
Если что, то notepad++ умеет файлы перекодировать, там сверху окна программы есть меню "кодировки". Там выбираем "преобразовать в utf-8", после этого сохраняем файл
18:46 Александр Кушелев: ОК
Отлично! Буду делать правильные файлы
HELIX.txt 82 B
Я перекодировал в нотепаде-2 этот файл в UTF-8. Правильно?
Для 00316 папки я буду пробовать такие символы:
data.rar 2.1 MB
00440 ... 00477
04:56 Программист: Да, верно все
Да, так будет нагляднее однозначно. За буквы глаз плохо цепляется, как мне показалось
20:00 Александр Кушелев
data.rar 1.4 MB
00478 ... 00500
Думаю, что 500 белков для статьи будет достаточно :)
На базе научного открытия нами создан онлайн-сервис по определению структуры белковых молекул. Теперь мы сможем зарабатывать вместе.
По старой технологии определение одной структуры белка обходится примерно в 10 000 евро, а ждать нужно от 2 месяцев до 3 лет. По новой технологии структура определяется в 1000 раз точнее и в миллиард раз быстрее. 80% от найденного Вами заказа принадлежат Вам, как менеджеру.
Наш лозунг: "В 1000 раз лучше, в 1000^3 быстрее и в 1000 раз дешевле!"
Ваша задача заключается в размещении рекламы на онлайн-сервис белковых структур. Рынок этих структур очень большой и продолжает стремительно расти. Ежедневно кто-то оплачивает до 60 структур по средней цене 10 000 евро за штуку. Новая технология позволила на одном персональном компьютере за неделю определить структуры всех 115 000 белков человека, для которых известна нуклеотидная кодирующая последовательность. При этом качество результата, полученного по новой технологии в 1000 раз выше по точности, в миллиард раз по быстродействию и в 30 раз шире по номенклатуре белковых молекул. Единственное, что нам сегодня не хватает - рекламы.
Как получить Вашу первую зарплату менеджера? Найти заказчика белковых структур и убедить его заказать за счёт лаборатории Наномир пробный заказ. Когда заказчик распробует новую технологию, он начнёт делать коммерческие заказы. С первого коммерческого заказа менеджер получает 80%. С последующих заказов процент будет постепенно уменьшаться, но с первого заказа другого заказчика менеджер снова получит 80%. Зарплата менеджера может достичь миллиона евро в день. И это не предел.
Инвестирование научных проектов
Приглашаем инвесторов и меценатов.
Как продвинуть цивилизацию на новый уровень своего развития и получить при этом огромные прибыли?
- Вложить деньги в научные разработки.
Новейшие виды экологически чистых и мощных источников энергии, средство для продления жизни, высокие технологии.
Все это реально создать в ближайший год-два при наличии достаточного финансирования.
Готовые коммерческие продукты
1. Online service PROTEIN PICOTECHNOLOGY
2. Сверхдобротные одномодовые диэлектрические резонаторы в т.ч. с большим диапазоном перестройки
3. Станки для производства высокодобротных одномодовых резонаторов
4. Технология изготовления сапфировых линз
5. Магнитный тороидально-сферический конструктор
Проекты
01 Ruby Emdrive (Микроволновый двигатель без реактивной струи)
02 Ruby Power Source (Микроволновый источник энергии)
03 Средство продления жизни (Возвращение молодости)
04 Октаэдрический редуктор
05 Шестеренчатая передача Кушелева
06 Магнитный подвес-стыковка-герметизация модулей
07 Ионно-микроволновый фрактальный излучатель
08 Гибкий отражатель из жестких элементов
09 Энциклопедия "Наномир"
10 Экспертиза
11 Конструктивные компьютерные игры
12 Интеллектуальный кодовый замок
13 Очки кругового обзора
14 Тетраэдрический сканер
15 Программируемая архитектура
16 Источник энергии промышленной частоты
17 Источник энергии постоянного тока
18 Монокристаллическая видеокамера
19 Система определения активных участков белка
20 Тераваттный лазер непрерывного действия
21 Бактериальный синтез алмазов
22 Шестеренчатые передачи с тремя степенями свободы
23 Сверхсветовая связь
24 Безосевая шестеренчатая передача
25 Aктивный язык программирования
26 Телевидение миллиметрового и оптического диапазонов
27 Микроволновая архитектура
28 Компьютерный экран из автономных элементов
29 Чтение / запись ДНК
30 Сверхсветовая локация / зрение
31 Нейтрализатор акустического сигнала
Коммерческое предложение:
Виктория Соколик: Уважаемые коллеги, Вашему вниманию предоставляется услуга -- моделирование 2D и 3D структуры любого белка без ограничений в его размере и степени изученности с помощью программного обеспечения, базирующемся на принципиально новом подходе декодирования нуклеотидной последовательности, детерминирующей данный белок.
Всё, что необходимо от заказчика, это нуклеотидная последовательность мРНК интересующего его белка (или код этой нуклеотидной последовательности в EMBL, или хотя бы код самого белка в PDB).
В течение 1-3 суток мы готовы предоставить Вам схему вторичной структуры заказанного белка (2D), модель его пространственной структуры (3D) в виртуальном пространстве, а также файл .pdb с координатами каждого атома белка.
Файл .pdb может быть использован по аналогии с файлами закристаллизованных белков из PDB банка для дальнейшего конформационного анализа белка методами молекулярной динамики с учётом физико-химической специфики микроокружения белка или его взаимодействия с лигандами.
Таким образом, Вы сможете максимально быстро удобным для Вас способом (по электронной почте, на сайте либо на электронном носителе) получить информацию о структуре Вашего белка.
Сотрудничество может быть различным:
- участие в научных дискуссиях на форуме (конструктивное)
- совместное создание коммерческого продукта
- поиск инвесторов
- выступить менеджером по продаже готовых коммерческих продуктов
- конструктивные предложения по продвижению идей лаборатории Наномир
- содействие в проведении экспериментов и т.п.
- написание совместных научных статей и т.п.
- материальный вклад (денежный или обеспечение оборудованием и материалами)
Пожалуйста, сообщайте о своем вкладе, чтобы мы зачли Вас как партнера лаборатории Наномир.