DevArtWorks

Development is an Art

5 Nov 2009

स्थलांतर

परवा भेटलो होतो म्हणून
सहजच बोलून गेलो पावसाला
शहराच्या वाळवंटाच्या मधोमध उभ्या असलेल्या
अश्वत्थाला भेटलास का रे इतक्यात?
पाणपोई सुरू झाल्याचं ऐकलय तिथे

आधी पाउस घरांच्याआडून कोसळायचा
आता बांधावर कोसळतोय


21 Feb 2009

Bioinformatics

In our day to day life, lot of times we just say ‘hard work is in my Genes’, ‘Technology is our DNA’.  Genes, DNA; these words are familiar to us but do we know what actually they mean? Many of us, in fact all of us must have studied about Genes, DNAs & RNAs in our school days, but there are very little chances that we all remember it. I know being software professional no one expects us to know these things. But there is a vertical in software industry where the software professional is ought to know about these things & the vertical is most popularly known as Bioinformatics. 

In simple English, Bioinformatics is the branch of life science that deals with the study of application of information technology to the field of molecular biology.  The primary goal of bioinformatics is to increase our understanding of biological processes. Bioinformatics entails the creation and advancement of databases, algorithms, computational and statistical techniques, and theory to solve formal and practical problems arising from the management and analysis of biological data. Common activities in Bioinformatics include mapping and analyzing DNA and protein sequences, aligning different DNA and protein sequences to compare them and creating and viewing 3-D models of protein structures.

Major research efforts in the field of Bioinformatics include sequence alignment, gene finding, genome assembly, protein structure alignment, protein structure prediction, prediction of gene expression and protein-protein interactions, and the modeling of evolution.

Bioinformatics was applied in the creation and maintenance of a database to store biological information at the beginning of the "genomic revolution", such as nucleotide and amino acid sequences. Development of this type of database involved not only design issues but the development of complex interfaces whereby researchers could both access existing data as well as submit new or revised data.

In order to study how normal cellular activities are altered in different disease states, the biological data must be combined to form a comprehensive picture of these activities. Therefore, the field of bioinformatics has evolved such that the most pressing task now involves the analysis and interpretation of various types of data, including nucleotide and amino acid sequences, protein domains, and protein structures. The actual process of analyzing and interpreting data is referred to as computational biology. Important sub-disciplines within bioinformatics and computational biology include: a) the development and implementation of tools that enable efficient access to, and use and management of, various types of information. b) the development of new algorithms (mathematical formulas) and statistics with which to assess relationships among members of large data sets, such as methods to locate a gene within a sequence, predict protein structure and/or function, and cluster protein sequences into families of related sequences.

 

Software in bioinformatics

There is lot of research is being done in the field of Bioinformatics where the areas of research are Sequence Analysis, protein modeling, Genes prediction, protein- protein docking, drug discovery etc. In all these fields software play major roll. E.g. in sequence analysis, computer programs are used to search the genome of thousands of organisms, containing billions of nucleotides. These programs would compensate for mutations in the DNA sequence, in order to identify sequences that are related, but not identical. One of the most popular tools for sequence analysis ‘BLAST’ is an algorithm for determining the similarity of arbitrary sequences against other sequences.

Another aspect of bioinformatics in sequence analysis is the automatic search for genes and regulatory sequences within a genome. Not all of the nucleotides within a genome are genes. Within the genome of higher organisms, large parts of the DNA do not serve any obvious purpose. Research on these areas gave birth to a new algorithm in computer science known as Genetic algorithm, a search technique used in computing to find exact or approximate solutions to optimization and search problems.

SOAP and REST-based interfaces have been developed for a wide variety of bioinformatics applications allowing an application running on one computer in one part of the world to use algorithms, data and computing resources on servers in other parts of the world. The main advantages lay in the end user not having to deal with software and database maintenance overheads. Basic bioinformatics services are classified by the EBI into three categories: SSS (Sequence Search Services), MSA (Multiple Sequence Alignment) and BSA (Biological Sequence Analysis). The availability of these service-oriented bioinformatics resources demonstrate the applicability of web based bioinformatics solutions, and range from a collection of standalone tools with a common data format under a single, standalone or web-based interface, to integrative, distributed and extensible bioinformatics workflow management systems.

There are other software technologies like OPEN GL, image processors are used for modeling, protein\gene image processing etc.

Considering the new areas of research in bioinformatics and the new technologies being developed in computer science, there will be a great deal of opportunities where computer science can aid the bioinformatics.

Some thoughts on Flex and SilverLight

It is been a quite a time when RIA came into existence. Since its existence Flex has been a popular choice of development for any RIA application. As web 2.0 and RIA are gaining popularity Microsoft also wanted to have its share in it. In 2007, Microsoft announced SilverLight, Microsoft’s challenge to Adobe in the field of RIA. Within a span of one and half year SilverLight has gained quite a good response too. Not to forget there exist technologies like JavaFx to give a competition.  But due to some ignorance from Sun, JavaFx did not take-off well.  Now there are two obvious choices remain namely Flex and Silverlight. So which one should I go for? Although you will find hundreds of discussion on this topic all over the web, I just wanted to put down some of thoughts on paper.

I have been working in MS technologies from quite a few years. Also I had chance to work on Flex to help my friend who is a free lance game developer.  I have tested both the wines and is bit difficult to tell which one is better as each has its own advantage.

Let me discuss following points:

1.       Ease of  Development:

i.                     Silverlight being a Microsoft technology, it has a full support of Visual Studio which is in my opinion one of the best tool for development any technology can have. Where as Adobe has Flex builder and up to some extent Eclipse, to support the development.

ii.                   Silverlight is an extension of Windows Presentation Foundation so for a .net developer the learning curve will be smooth. But for a developer to move to Flex will not be that smooth.

2.       Compatibility

Adobe Flex is compatible with all major OS and browsers. Where as Silverlight supports to all major browsers, but the OS compatibility is only limited to Windows and MAC. Though through Mono Moonlight project Microsoft has extended the flexibility to Linux and Solaris but it is not up to respectable level.

3.       Video Support:

This is where Flex has big advantage over SilverLight.  Since Flex is built over Flash, Flex has great video support but SilverLight is catching up Flex with HD video support.

4.       Ease of Design:

Style controls in SilverLight are still not up to the mark. This makes designers life bit complex. Though SilverLight allows building custom controls, range of basic controls is what SilverLight still lacks. Spinner control which was in existence since VB5 days is introduced to SilverLight after 1 year.

5.       Advanced programming concepts:

SilverLight has great advantage of Multithreading over flex. This enables to spawn off “complex” tasks without choking the main thread. Also SilverLight can directly communicate with html which also allows the use of Ajax.

There are some other differences in performance, size of the files etc. which will be minimized as both providers are working towards it.

2 Oct 2007

तुफानी समंदर मे इक कश्ती हुई रवां
चराग साहिल के जब बुझा रही थी हवाँ
हम सब तो सोये थे आखें उसकी थी जवां
जब किनारे पे सब थे इक जिसके सिवाँ

20 Aug 2007

कस्तुरीम्रुग

रोज रात्रीचा अंधार
त्या शांत आणि भयावह कोशामधून
मी रोज बाहेर येण्याचा प्रयत्न करतो
पण तेंव्हा रक्तिम उगवतीचं रूपही
विषण्ण वाटत असतं
त्या दिशेकडून येणारे पक्षीही
ज्वालामुखीच्या भितीने घाबरतात
उडतात आपले प्राण पणाला लावून
त्यांचे चित्कार भंडावून सोडतात रानाला
तो वातावरणाचा थंडपणा
रूतत जातो सर्वांगात
बधीर करतो प्रत्येक संवेदना
मग कुठूनतरी एक हुंकार ऐकु येतो
एका दशग्रंथी खर्जामधला
आणि पिसावलेलं माझं मन
शोधत राहातं
त्या हुंकाराचं मूर्त रूप
एखाद्या कस्तुरी मृगासारखं

13 Aug 2007

पहारा

नाहि हल्ली मी कुठेच जात नाही
रोज दिसतात नविन वाटा
खुणावतात त्या मला
सुंदर सुंदर बागा रोज बोलावतात मला
मी नाही म्हटलं की हसतात
आपसात खिदळतात..
निघुन जातात
खरंतर.. एकदा गेलो होतो अशा वाटेनं
झालो होतो बेहोश
त्या वाटेच्या अनुभवाने
झालो होतो रोमांचीत
उपभोगले सारे सुखदु:खांचे क्षण
त्यातल्याच दोन क्षणांचा
आज माझ्यावर पहारा आहे
म्हणूनच मी हल्ली कुठेच जात नाही

हतबल

पुसले वाळूवरचे पाय
हरवली मंगल नक्षी
उडतांना साथ नभाची
देण्यास थांबला पक्षी

विझणार केशरी बिंब
जळणार रात्र जराशी
शर्यत लावून चांदवा
मग हरणार तारकांशी

ती कल्पवृक्षाची फांदी
गळून का पडणार आता
अन घेउन रित्या ओंजळी
घरोघरी फिरणार दाता