Электронный лаборат...
 
Уведомления
Очистить все

Электронный лабораторный журнал

12 Сообщения
3 Участники
0 Likes
639 Просмотры
0
Автор темы

Здравствуйте!

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

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

Вот, вообщем, и развернутая суть данной темы.

Всех, кто откликнется, заблаговременно благодарю!

12 ответа(-ов)
0

Приветствую kodibo, интересно узнать кто вы по образованию?
Что касается Вашего вопроса, то для лабораторий существуют целое семейство программ подобного типа - ЛИМС (ЛИС) называются, каждая из них вмеру гибкая и настраиваемая, есть некоторые полные конструкторы (где у тебя есть ядро, а все остальное ты дописываешь как тебе надо). Существуют эти системы для лабораторий всех образцов и мастей.
Поэтому, прежде чем писать программу подобного рода, задайте себе несколько вопросов: "Сможет ли моя программа конкурировать с другими? Чем я смогу заинтересовать потенциального клиента своей программой? Какие у неё должны быть преимущества по сравнению с другими?"
Еще как вариант выпустить её под лицензией GNU GPL, но тогда надо использовать другую схему заработка на таком продукте.
Если Вы знаете Питон, то могу порекомендовать GNU GPL ЛИМС систему Bika Labs - это абсолютно бесплатно, открыто и легально. В качестве основы используются два мощных Python-фреймворка, полностью Вэб-based, Вам останется только разобраться с ней и допилить под свои нужды.

0
Автор темы

Здравствуйте, Антон Мымриков!
С Питоном, к сожалению, не знаком.
Занимаюсь программированием в среде VisualStudio на языке C# (платформа .net, вот уже 4.0).

Имею опыт работы с E-Notebook, при всем уважении к CambridgeSoft, это их детище, хоть и чрезвычайно функционально, но, что касается вопросов быстродействия и некоторых других аспектов, все же не полностью удовлетворило меня, потому и заразился этой идеей.

Идея то заключается в написании программы с использованием новых технологий программирования (wpf, silverlight, etc.) и внедрении такой технологии как LINQ2SQL. SQL Server, хотя и критикуем многими (отчасти из-за того, что его продвигает Microsoft, на последнюю, почему-то, у всех аллергия) но, благодаря своим новым возможностям (Analisys Services и особенно FileStream), по прежнему является сервером №1. А подход LINQ дает возможность в кратчайшие сроки и максимально эффективно использовать SQL Server (к примеру Express, как бесплатную его версию).

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

Программа должна быть адекватно доступна. Я имею ввиду, что конечно трудно будет реализовать всякие навороты как в Symax Lab Notebook. Но по большому счету они и не нужны для не очень большой и требовательной лаборатории, которых на просторах СНГ достаточно и в ВУЗах и на предприятиях.

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

0

Если Ваш продукт будет адресован Химикам-синтетикам, то думаю Вам лучше будет обратится на какой-либо химический форум.
Что касается технологии, не вижу в этом проблемы абсолютно никакой. Вы вправе писать на том, на чем вам удобно и на чем лучше получается. Я не противник, но в тоже время и не сторонник Microsoft. Придерживаюсь больше кроссплатформенной позиции, почему? Поясню, в серьезных лабораториях очень часто используется не только продукция Microsoft, но и (особенно там где нужна хорошая кластеризация и производительность) Linux/UNIX. Делать особый упор на мелкие лаборатории не стоит, по скольку их не так уж и много, в той же Украине тех, которые занимаются серьезными потоковыми синтезами совсем мало, в университетах полная разруха (в большинстве) на них тоже не стоит ориентироваться.
На данный момент чтобы вывести продукт на коммерческий рынок, на уровень самоокупаемости, необходимо:
1. Хороший маркетинг и реклама
2. Бренд
3. Связи
Исходя из этого Вы можете продумать свои действия. Я клоню к тому, что какие бы Вы технологии не использовали и каким бы навороченой ваша программа ни была, без этих составляющих её выход на рынок близится к нулю.
Как вариант, я уже писал сделать её на первых порах открытой (OpenSource), а бизнесс строить на консалтинге. Второе это сориентироваться для начала на Западного потребителя, там больше рынок и больше потенциальных клиентов. Если вашу разработку оценят там, то потом Вам не составит труда продвигать её здесь (будет хорошее портфолио). Кроссплатформенностью Вы убьете сразу двух зайцев - система будет универсальной для любой лаборатории (по данным того же CERN - у них на большинстве рабочих станций и кластеров стоит Linux/UNIX, если Вы попадаете на такую лабораторию, то автоматом теряете клиента, достаточно серьезные приложения для химического и фармакологического молекулярного моделирования и прогнозирования и т.п. тоже написаны под Linux/UNIX).
Что касается интерфейса, то скажу Вам по своему опыту, что интерфейсные плюшки, на самом деле, в спец. софте далеко на последнем плане. Пример, два мощных статистических фреймворка SAS и R Project, из интерфейсной части только библиотечка для отрисовки графиков (но их столько, что на все случаи жизни) и простенький грид для занесения данных. Все этого более чем достаточно. Зато у них очень мощный макроязык, я парой строчек могу написать столько, сколько ни в одних окошках с кучей кнопок не сделаешь. И поверьте сделаю я это быстрее. Опять же, к чему я клоню - зачем мне малофункциональная программа с красивым интерфейсом, если она не выполняет те функции которые мне нужны. А моем примере, мне надо написать макропрограмму под свой метод анализа, загнать данные и быстро получить результат.
Подход для меня очень удобный - есть мощный API различных аналитических функций, доступ к которому реализован посредством упрощенного макроязыка, просто красиво и эффективно. Спец софт на то таковым и является, он не всегда должен быть красивым, гораздо важнее - функциональность!
Плюс не забывайте про масштабируемость!
Да, еще могу порекомендовать найти в Инете контакты подобных лабораторий и обратится к ним с запросом о заинтересованности в продукте подобного рода, тогда Вы четко узнаете для себя стоит за это браться или нет...
З.Ы. Я ни в коем разе не хочу Вас оскорбить или обидеть, просто стараюсь критически отнестись к Вашей предстоящей работе, чтобы она не пропала зря, обидно будет потраченных времени и сил, хотя лично для Вас - это будет хороший опыт.

0

The Pfizer Global Research and Development unit has 12,000 scientists in seven research centers working on the next generation of pharmaceutical products. Pfizer scientists need to review existing research in a database with millions of records of previous experiments. In a joint effort, experts from Pfizer, Microsoft, and Infosys developed a new Office Business Application based on the Microsoft® .NET Framework 3.0, Windows® Presentation Foundation, and Microsoft Office SharePoint® Portal Server 2003. This new application allows Pfizer scientists to search their databases for specific biological results and view the results in a contextual, multidimensional display. These advanced visual displays help scientists see new relationships within the data, reducing redundant research. Ultimately, higher research productivity will lead to faster innovation in creating new drugs that save and improve lives.

Источник

To kodibo - успехов и вдохновения!
To Антон Мымриков - Кто не ставит высоких целей тот никогда их не достигает!

0

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

0
Автор темы

Спасибо, Chemister, за теплые слова и поддержку, а особенно за ссылку!

Могу добавить, что новая версия AutoCAD, точнее графическая ее составляющая, практически полностью написана с помощью WPF, к тому же и сама VisualStudio 2010 (не говоря уже об Expression Blend) имеет WPF интерфейс. Поэтому я лично полностью уверен в правильности выбранных мною инструментов.

Вот еще вопрос: как чаще всего и удобнее всего ведется нумерация и класификация экспериментов (по порядковому номеру, префиксы там всякие, суфиксы). Есть ли разделы в лабораторных журналах и т.п.?

0

Пожалуйста!

Например, у нас в лаборатории номер эксперимента состоит из буквенного префикса и итерированного номера - АА-001, АА-002, АА-003 и т. д.

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

Каждый эксперимент содержит обязательные данные: номер, дата, лаборант (-ы), которые принимали участие в его проведении. Поэтому должна существовать возможность классификации по этим данным.

0

Инструмент хорош любой, главное уметь им мастерски пользоваться 🙂
один нюанс, Автокад как раз и предназначен для работы с графикой, поэтому интерфейсная часть для него критична. Для Электронного лабораторного журнала я не думаю что Вам придется задействовать всю мощь DirectX или OpenGL, разве что Вы добавите функцию каких-нибудь сверхсложных расчетов динамики молекул с риалтайм отображением.
Гараздо важнее (сужу из примера Chemister) сделать продуманную часть интерфейса, которая будет отвечать за отображение иерархических (древовидных) структур данных.

К тому же не забывает про чистоту лицензии. Если Вы хотите чтобы Ваш продукт отвечал современным требованиям, то все действия в нем должны логироваться, должен быть продуманный ролевой доступ и т.д.
Я думаю что с учетом этого, даже в небольшой лаборатории Экспресс версии СУБД MS SQL хватит на года 2 в лучшем случае.
Посмотрите еще в сторону PostgreSQL - для поставленных задач я думаю очень Вам подойдет (к слову БД поискового индекса Yahoo работает на PostgreSQL , правда допиленной сотрудниками компании).

0
Автор темы

Инструмент хорош любой, главное уметь им мастерски пользоваться

Полностью согласен!

Вот по поводу MS SQL Server Express не очень, хотя замечание важное. Из офф. источников известно, что MS SQL Server Express предоставляет 10 Гб памяти под базу. В случае, если файлы результатов анализов и др. хранить непосредственно в базе данных, то тогда один эксперимент займет около 1-2 Мб, для работы лаборатории до 10 (в среднем) синтезов в день получим 250(раб.дней)х10 = 2500x1-2(года), итого 4-2 года. А если к тому же учесть, как вы правильно заметили, логирование, то и того меньше. Но, благо в MS SQL Server Express (на сколько мне стало понятно) есть возможность хранить файли за пределами базы данных с уникальной возможностью мониторинга целостности файлов, их перемещения или удаления (FileStream) - в базе хранятся только пути к файлам, в таком случае можно значительно уменьшить размер выделяемой памяти для одного эксперимента до 25 Кб (по сути, хранятся только текстовые данные), из чего получим: 25х2500=62500 Кб/год, а это уже более чем достаточно.
Справедливости ради отмечу, что не знаком в достаточной мере с PostgreSQL, хотя слышал немало хороших отзывов, обязательно изучу и эту возможность, за что и спасибо!

отображение иерархических (древовидных) структур данных

Как раз проблема отображения иерархических данных в WPF отсутствует как таковая из-за полной встроенной поддержки иерархического связывание всеми нужными для этого элементами управления (ListView(Box) - списки, DataGrid - таблица данных, TreeView - дерево) с возможностью фильтрации, группировки и сортирования.

З.Ы. Спасибо, Chemister и Антон Мымриков, за советы, буду благодарен за все важные замечания!

Страница 1 / 2
Поделиться: