Отправляет email-рассылки с помощью сервиса Sendsay

Новости лаборатории Наномир

  Все выпуски  

1334 Создаём программу Binary_SS для корреляционного анализа. Часть 18. Появляется цвет...


Выпуск 1334
2024-06-04

Лаборатория Наномир

Когда реальность открывает тайны,
уходят в тень и  меркнут чудеса ...

Создаём программу Binary_SS для корреляционного анализа.

Часть 18. Появляется цвет... 

Предыдущая часть 

23 May 2024 10:46 Александр Кушелев: Добрый день, Роман!

А программа воспримет строку в файле HELIX такого типа?

Ж 45 45

Файл будет таким:

# 37 38

b 39 41

A 42 44

Ж 45 45

a 46 48

a 49 53

A 253 271

11:02

Александр Кушелев

Другими словами, будет ли корректно отображаться структура, если длина спирального участка =1 ?

Ещё пример:

b 280 284

A 285 292

a 293 293

b 294 296

п 297 297

b 298 301

b 307 326

F 327 331

16:33 Программист

Здравствуйте, Александр!

Затрудняюсь сказать, надо проверять. Могу глянуть на выходных. Но Вы и сами глянуть можете. А раз возник такой вопрос, то я подозреваю, что что-то работает некорректно?

16:46 Александр Кушелев: Я ещё не проверял. Просто спросил, насколько корректно обозначить спираль, состоящую из одного аминокислотного остатка.

16:50 Программист: В теории, должно всё работать. Но точный ответ даст только тест

17:41 Александр Кушелев: 673_code4.txt 8.0 KB

Да, нормально отрабатывает. Поздравляю!

700_correlation_results.txt 76.3 KB

24 May 2024 04:56 Программист: Отлично! На этих выходных программа по очистке директории будет готова.

10:58 Александр Кушелев: Ура!

25 May 2024

11:38 Программист: Clean.rar 626.8 KB

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

1) в файле config.clean.ini пишем необходимый список папок, которые должны быть удалены.

2) Помещаем исполняемый файл и файл конфига в директорию, которые нужно очистить;

3) запускаем исполняемый файл Clean.exe

Потестируйте, правильно ли все работает?

15:08 Александр Кушелев: Благодарю! Сейчас буду тестировать.

Я правильно понял, что файл main.cpp - это исходник, а Clean.dev - это что за файл?

16:46 Программист: Это файл проекта dev-c++. По сути, часть исходников.

17:38 Александр Кушелев: Понятно. Программа отлично работает. Благодарю!

Теперь на очереди цветная графика через файлы html

Хотя в идеале интересно получить ту же схему в формате png или gif

При этом самый главный параметр - быстродействие.

26 May 2024

08:35 Программист: Окей, буду потихоньку приступать к этому этапу. Попробую сначала изображения получить, если не получится, то придется делать html. А уже их потом, возможно, получится конвертировать в изображение. Если не программно, то вручную точно. Если сервисы для этого. Но постараемся программно.

14:00 Александр Кушелев: На самом деле символы в компактном представлении не очень-то и нужны: 

 

А в развёрнутом представлении они точно не нужны: https://i.ibb.co/qn8ZdZr/KAH3848762.png 


00852

Transmembrane 106-129 Helical

Transmembrane 136-159 Helical

Transmembrane 165-187 Helical

Transmembrane 194-216 Helical

Transmembrane 222-244 Helical

Transmembrane 251-273 Helical

Transmembrane 279-304 Helical



00853

Transmembrane 85-111 Helical

В этом белке исследователи заметили метиониновую спираль. Уже хорошо!

Программист pinned this message

16:35 Программист: Закреплю , чтоб не забыть.

Александр, цветная графика у нас в binary_ss будет и должна задаваться в конфиге, либо черно-белая, либо цветная?

16:36 Александр Кушелев: Отлично!

Если получится цветная, то задавать её, вероятно, нужно в виде набора файлов в папке с программой.

Сейчас покажу, как это сделано для существующей программы.

0.rar 306.7 KB

16:40 Программист: Надо задать своего рода кирпичики, и назвать их определённым образом, чтоб графика из них построилась, если я правильно помню.

16:41 Александр Кушелев: Да. Я их только что послал в архиве.

В третьей папке - цветные кирпичики.

16:42 Программист: Предварительно могу сказать, что сделать в html графику будет проще. С изображениями там целая эпопея предстоит, если мы решим их использовать.

16:42 Александр Кушелев: Алгоритм можно словами снова описать. Он простой. Картинки хороши тем, что их можно быстро просматривать.

Вот, например: w1.rar 26.0 MB

16:44 Программист: Я на следующей неделе попробую прикрутить opencv или sfml - библиотеки для работы с графикой. Я до этого попробовал и не получилось. Не все там так просто...

16:44 Александр Кушелев: Я в проводнике просматриваю тысячи картинок за час, а с файлами html такой скорости не получится. Меня в первую очередь интересуют не "равёрнутый вид", а наиболее компактный, который показывает проводник при просмотре папки с картинками

16:47 Программист: Окей, буду пробовать

16:48 Александр Кушелев: Если бы программа могла сразу так показывать на экране, чтобы можно было мышкой ткнуть на интересующую превьюшку, и она уже рассчиталась бы во весь экран...

Мелкие картинки, где одна цветная клетка - один пиксель, рассчитались бы ещё быстрее. А я по виду превьюшки уже нахожу интересные структуры, которые нужно изображать во весь экран. Для этого нужно просто заменять пиксель на клетку из таких пикселей, например, 12*16

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

16:52 Программист: Эти файлы строятся по коду-4 fasta?

16:52 Александр Кушелев: Сначала по коду-4, а если получится, то надо будет перейти на код-9. Это небольшая разница по алгоритму. Эти картинки - в коде-9.

16:53 Программист: А создаются эти файлы, когда считается корреляция? И сохраняются в каждой папке?

16:54 Александр Кушелев: Создавать файлы не нужно. Нужно просто на экран выводить таблицу мелких картинок. А если я уже мышкой ткнул и увеличил, тогда нужно создавать файл.

16:54 Программист: Это получается графическое приложение? Не консольное?

16:54 Александр Кушелев: Точнее нужно или не нужно, это в конфиге должно быть прописано. А чем они отличаются?

16:55 Программист: Я с графическими приложениями не работаю.

16:55 Александр Кушелев: А что значит консольное?

16:55 Программист: Консольное это как у нас сейчас сделан binary_ss. Запустил программу, открылась консоль, что-то выполнилось, консоль закрылась.

16:56 Александр Кушелев: Консоль только чёрно-белая бывает?

16:56 Программист: А графическое, это как у Вас сделан пикотех, насколько я понимаю.

16:56 Александр Кушелев: А в чём разница?

16:56 Программист: В консоли нельзя работать с графикой такой.

16:56 Александр Кушелев: А с какой можно?

16:57 Программист: Что-то там выводить, мышкой кликать - все это нельзя.

16:57 Александр Кушелев: Цветные прямоугольники можно выводить?

16:57 Программист: Примитивные, но не такого рода, как у вас на скринах выше. Нельзя сделать проводник картинок.

16:57 Александр Кушелев: Так мне примитивные и нужны. А зачем проводник? Давайте посмотрим примеры

16:58 Программист: Вот эти файлы, что служат кирпичиками нельзя в консоли вывести.

16:58 Александр Кушелев: Что можно вывести на консоль в виде цветных прямоугольников? Есть примеры?

16:58 Программист: Только текст. И можно текст раскрасить. Всё.

16:59 Александр Кушелев: Я правильно понял, что на консоль можно выводить цветной текст, в частности, псевдографику?

16:59 Программист: И по ширине проблемы будут, консоль 80 символов в ширину и все. Это можно, но мне кажется нельзя сделать то, что Вы хотите.

16:59 Александр Кушелев: Так у меня все цветные картики такой ширины. Я так понял, что на весь экран точно можно 80 прямоугольников цветных вывести.

17:00 Программист: Но с консолью нельзя работать будет дальше, как Вы пишите, щёлкнуть и чтобы изображение развернулось.

17:01 Александр Кушелев: Это как раз - не проблема. Проблема управлять отдельными пикселями. Да?

17:02 Программист: Вообще в целом, консоль не для этого. Она для текста... Сейчас запишу голосом, объясню подробнее.

17:02 Александр Кушелев: Это я понимаю, но псевдографика точно работает. А структура наших картинок как раз подходит под псевдографику.


17:04 Программист: Voice message 01:38, 1.9 MB

17:04 Александр Кушелев: Но не сможем на одном экране сделать уменьшенную копию такой картинки.

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

17:06 Александр Кушелев: Да, с консолью понятно. Тогда давайте разберёмся с выводимыми файлами. Можно же выводить гифы или png ? Если у нас есть таблица в памяти, то что мешает её вывести в виде гифа? Структура гифа проста.

17:08 Программист: В консоль? Нельзя.. их можно вывести в HTML, и с их помощью можно картинки сделать.

17:08 Александр Кушелев: Нет. В файл.

17:09 Программист: В какой именно файл?

17:09 Александр Кушелев: У нас есть таблица. Мы её распечатываем в виде файла gif или png.

17:09 Программист: В текстовый? Или другой какой-то? Я изначально думал, что нам надо создать файлы с цветной графикой по аналогии, как сейчас в каждой папке создаются code4.txt с псевдографикой.

17:11 Александр Кушелев:


Вот такой файл программа может распечатать с любым расширением?

17:11 Программист: Это графический файл.

17:11 Александр Кушелев: Его же можно распечатать с расширением txt ?

17:12 Программист: Неа, вообще никак.

17:12 Александр Кушелев: А потом поменять расширение на гиф и смотреть. А бинарный? bmp - Битовую карту.

17:12 Программист: Никогда такое не делал, потому затрудняюсь сказать.

17:12 Александр Кушелев: Какие файлы умеет распечатывать программа на С++ ?     Двоичный файл может?

17:13 Программист: Программа на c++ может создать какой угодно файл пустым. Но как его заполнить? Это уже проблема.

17:13 Александр Кушелев: https://habr.com/ru/articles/274917/

А заполнить его по алгоритму. У нас же алгоритм есть.

17:14 Программист: Что за алгоритм?

17:14 Александр Кушелев: Мы заполняем таблицу числами, а потом выводим в виде двоичного файла. Код-4.

17:14 Программист: Но это речь про текстовые данные. Графика внутри вообще не так устроена... Там же если ее открыть блокнотом, то будет черте что.

17:15 Александр Кушелев: А какова структура файла bmp ? А зачем нам блокнотом открывать?

17:15 Программист: Если какой-то gif или даже bmp открыть...

17:15 Александр Кушелев: Главное сохранить файл, а чем открыть, я найду :)

17:15 Программист: Чтобы посмотреть, что за текст там записан.

17:15 Александр Кушелев: Я его могу открыть графическим редактором.

17:16 Программист: Ведь программа сможет записать в файл только текст. А уже он потом превращается в картину при открытии.

17:16 Александр Кушелев: Вот он гиф. Как раз, то, что нужно! 

 

Пусть программа сохранит текст, а другая программа поменяет расширения. Здесь объясняется, как устроен гиф: https://habr.com/ru/articles/274917/

17:17 Программист: вот как выглядит файл green2.png изнутри

17:18 Александр Кушелев: Если png проще, то так.

https://habrastorage.org/files/44b/f77/f80/44bf77f800fd4d198083e00d69a20f9f

17:23 Программист: Я, к сожалению, с созданием графики не смогу помочь. Я могу попытаться в HTML графику сделать.

Или ещё могу попробовать библиотеку найти для создания картинок и разобраться как с её помощью генерировать картинки, используя "кирпичики". Но бинарно строить изображение это очень сложно.

17:24 Александр Кушелев: Может быть это несложно? Нам же нужно сформировать таблицу чисел, которая обозначает таблицу цветных прямоугольников. А служебную информацию можно взять в виде шаблона и распечатывать разные таблицы с одним шаблоном.

17:25 Программист: Я с таким не работал никогда, надо хотя бы попробовать будет, что получится, если считать программно png файл например. И попробовать его сохранить в другой файл.

17:25 Александр Кушелев: Надо просто сформировать массив чисел и встроить его в гиф-шаблон. Я могу сделать гиф с нужной мне таблицей цветных прямоугольников. И мы посмотрим, что там за таблица чисел получится. Кстати, я так понял, что в файле bmp таблица вообще "в прямом виде". Просто задаются цвета каждого пикселя. А перекодировать BMP в любой формат может конвертер.

17:27 Программист: Я попробую на грядущей неделе разобраться, поэкспериментирую.

17:27 Александр Кушелев: Да меня и BMP устроит.

17:28 Программист: Это прям совсем для меня новое, поэтому надо попробовать разобраться.

17:29 Александр Кушелев: Вот описание формата bmp: https://ru.wikipedia.org/wiki/BMP

Да, bmp - это то, что надо: https://learn.microsoft.com/ru-ru/dotnet/desktop/winforms/advanced/types-of-bitmaps?view=netframeworkdesktop-4.8

https://learn.microsoft.com/ru-ru/dotnet/desktop/winforms/advanced/media/aboutgdip03-art02.gif?view=netframeworkdesktop-4.8

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

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

 

Символны не нужны. Только цветные прямоугольники. Их должно быть 60 штук в строке.

red.bmp 150 B

Вот одна строка из 60 красных пикселей. Давайте посмотрим на её структуру.

Я попытался открыть этот файл нотепадом-2. Очень прикольная структура...

red3.bmp 214 B

А это уже 3 строки по 60 красных пикселей. Нотепад-2 показывает в том же шаблоне 3 одинаковых последовательности в конце файла. Мне кажется, что распечатать из программы файл с нужной картинкой - не проблема.

Шаблон можно взять из стандартного файла, который я сейчас сделаю.

red10.bmp 1.0 KB

Это уже 10 строк по 60 красных пикселей

red_symbols.png 524 B

Этими символами кодируются красные пиксели :)

Я думаю, что вывести файл bmp программай на С++ - не проблема.

Есть программы чтания файлов bmp на языке C++: https://ziggi.org/chtenie-bmp-v-cpp/

Есть примеры программ для сохранения файла BMP: https://jenyay.net/Programming/Bmp

Короче, задачей является сформировать таблицу чисел по алгоритму. Вывести таблицу в виде файла BMP - несложно. А начинать нужно как обычно с простого. Сформировать таблицу, состоящую из одной строки длиной 60 чисел. Пусть они будут все кодировать красный цвет. Кстати, у нас всего будет не так много цветов.

Вот все они: https://i.ibb.co/bWx95ZZ/dad1f9f02831.png 

 

Начинаем с кода-4

1-красный

2-зеленый

3-синий

4-оранжевый

По файлу fasta нужно сформировать таблицу чисел (для начала одну строку 60), кодирующих эти цвета. А дальше пробуем вывести в файл BMP. Фасту для теста можно любую взять. Нам не нужно пока делать развёрнутое представление: https://i.ibb.co/wgGh2yG/KAH3792207.png 

Нужно компактное: 

 

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

Кстати, существует конвертер таблиц в гиф: https://products.aspose.com/cells/ru/cpp/conversion/excel-to-gif/

Может быть можно раздобыть исходник программы на языке С++, в котором содержится вывод массива чисел в виде графического файла? Здесь обсуждается, как записать массив пикселей (таблицу чисел, обозначающих цвета) в виде картинки: https://qna.habr.com/q/1179410

Здесь тоже решается похожая задача: https://www.cyberforum.ru/cpp-builder/thread1285792.html

Может быть можно воспользоваться готовыми решениями?

Алгоритм заключается в том, что нужно код-4 (для начала) записывать в строку по N значений (по умолчанию N=60). А дальше переходить на следующую строку. А потом получившийся массив выводить в виде цветных прямоугольников в графическом формате. Возможно, что подпрограмму вывода массива (исходник) можно найти готовую.

27 May 2024

04:54 Программист: Надо будет пробовать, пока что не уверен, что получится. На этой неделе буду экспериментировать ближе к выходным.

05:36 Александр Кушелев: ОК! Я бы начал с исходников программ, которые выводят массив чисел в виде картинки. Такие программы точно есть. Может быть на форуме по программированию на C++ подскажут...

1 June 2024

17:56 Программист: Александр, здравствуйте!

Хочу отметиться, чтобы Вы меня не теряли. Я на этой неделе смог подружить проект Binary_SS с библиотекой для работы с графикой (и не только) - OpenCV.

Для этого мне пришлось использовать другую среду разработки. До этого я использовал Dev-C++, теперь использую Visual Studio 2019. Структура проекта немного поменяется, но для Вас, как для конечного пользователя этой программы, это некритично. Просто некоторые исходники будут другие у проекта. Теперь изучаю, как с библиотекой этой работать, что в ней можно делать. Уже есть первые результаты.

Вот пример вывода для 00002/1433T_HUMAN.fasta:

 

с подписями значений кода-4:

 

В общем, немного потренируюсь, как работать с этим мощнейшим инструментом - OpenCV, и начну полноценно внедрять его в Binary_SS.

Photo 1240×160

Это я скриншоты с окна программы делал. Можно картинки и в файл выводить.

18:26 Александр Кушелев: Круто! А как с быстродействием? Желательно, чтобы оно не "съехало" до быстродействия Матлаба. Для меня быстродействие - главный параметр. "Время не купишь" ;)

2 June 2024 06:35 Программист: Точно смогу ответить после тестирования на всей папке с данными. Но на 99% уверен, что быстродействие будет в разы лучше, чем на матлабе. Возможно, на порядки.

08:44 Александр Кушелев: На С++ точно будет выше на порядки, а на других языках - большой вопрос...

data.rar 81.1 MB

Добавьте, пожалуйста папки 501...1079

Интересно, как цветная версия отработает 259-ю и 320-ую папку?

17:53 Программист: Окей

На следующей неделе постараюсь уже первую версию с цветной графикой сделать и прислать.

18:11 Александр Кушелев: Ура!

Если скорость упадёт, то придётся делать графический файл на С++. Иначе смысла нет. Медленная версия у меня уже есть.

3 June 2024

05:15 Программист: Разумно. Но посмотрим, что покажут тесты :)

07:55 Александр Кушелев: ОК


 Продолжение следует...

 


Приглашение к сотрудничеству

На базе научного открытия нами создан онлайн-сервис по определению структуры белковых молекул. Теперь мы сможем зарабатывать вместе.

По старой технологии определение одной структуры белка обходится примерно в 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 банка для дальнейшего конформационного анализа белка методами молекулярной динамики с учётом физико-химической специфики микроокружения белка или его взаимодействия с лигандами.

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

 Сотрудничество может быть различным:

- участие в научных дискуссиях на форуме (конструктивное)

- совместное создание коммерческого продукта

- поиск инвесторов

- выступить менеджером по продаже готовых коммерческих продуктов 

- конструктивные предложения по продвижению идей лаборатории Наномир

- содействие в проведении экспериментов и т.п.

- написание совместных научных статей и т.п.

- материальный вклад (денежный или обеспечение оборудованием и материалами)

 

Пожалуйста, сообщайте о своем вкладе, чтобы мы зачли Вас как партнера лаборатории Наномир.

Telegram: https://t.me/nanoworldlab

Приглашение в группу: https://t.me/nanoworld_discussion 

WhatsApp: +7 926 850-54-22

mail: kushelev20120@yandex.ru


О способах финансирования можно спросить по электронной почте и на телеграм-канале. 

Огромное спасибо всем за помощь и поддержку! 


В избранное