Sunday, April 17, 2011

Project Plan for BIOMOD-2011

I am a part of the team DA-NanoTrons, representing my college DA-IICT in BIOMOD-2011.

Our team is -
  • Faculty mentors
    • Manish K. Gupta [DA-IICT, Gandhinagar]
    • Taslimarif Saiyed [NCBS, Bangalore]

  • Team members 
    • Avinash Parida
    • Denny George
    • Mayank Kandpal 

Project plan :

Part 1 : (BIOMOD-2011)
Providing an interface for the users to input equations corresponding to 2-D shapes, which will generate a caDNAno friendly .json file output. This can directly be opened with cadnano and the structure can be further edited there. (So its like a basic cadnano template creator which can then be used and made into more complex structures on caDNAno)

The application will be a standalone for now and might be integrated into caDNAno later on.
We can even provide some default templates for some very basic equations.

Plan of Action :
1.1 Understand the format of cadnano gerenated json files and try to create simple files which are correctly displayed in cadnano. this would be done by creating some simple files in caDNAno and understanding the structure of files after saving them.  Initially dont worry about 3d, just create 2d .json file structures and run them on caDNAno.

1.2 Hack through the cadnano ActionScript code-base to understand their auto-stapling algorithm.

1.3 What would the program do :
    1.3.1 Take equation as input
    1.3.2 Generate the outline of the corresponding 2D shape
    1.3.3 Generate a single loop which fills the entire structure  
    1.3.3 Divide the loop into 7000 parts (there is a reason behind 7000)
    1.3.4 Select a point to break the loop and thus create a single long scaffold.
    1.3.5 Assign each division a base-pair (ACGT) ordered in the sequence of the standard M13mp18 virus DNA sequence. I have a rough visualization of the expected output after this stage, which I would share soon.
    1.3.6 Use the auto stapling algo to generate staples in the structure. (optional)
    1.3.7 Automatic StapleError correction feature (optional, will skip this most probably in Phase-1)
    1.3.8 Create the cadnano friendly json file corresponding to the structure and staples we generated.

How we could divide the work :
For parallely working on different things, we all need to be clear on how we would be storing the structure in each stage in the backend. In other words, what the output format/structure of each stage would look like.
For example, if we are clear initially how the backend would look like in step 1.3.6, then one person can start working directly on a manualy created output of step 1.3.6 and work on how to create a cadnano friendly json from the structure that we finally come up with.
Thus, before we begin with any coding, we need to be clear with what output we expect in each stage. For this, we need to first of all decide a platform which we would be working on. Considering the requirements. I am assuming java (or python) would be the best choice.
In case we find other platforms with better library support we would use that.  So first step is to hunt down the available libraries for each task.
Parallel task 1 : 1.3.1 - 1.3.5
Parallel task 2 : 1.3.6
Parallel task 3 : 1.3.7

FallBack Plan for part 1:
If we are too technically handicapped to understand the auto-stapling algorithm, we can simply skip step 1.3.6 and jump to 1.3.7, i,e, just generate the single long scaffold corresponding to the 2D structure represented by the equation and convert it to .json format which would can be opened in cadnano. The user can then use the autostapling feature within cadnano.


Part 2 : (to be done in the next year’s Biomod, OR if time permits(unlikely), within the current Biomod timeline)

2.1 Provide support for equations of 3D structures.

2.2 Either create Views Interface so that the user doesnt need to switch to cadnano just for checking out the output. OR port the entire application as a cadnano plugin itself.

Monday, March 7, 2011

Developing @cric : An SMS based app on TXTWEB

My first project at Kuliza was to create an SMS based application for mobile phone users, through which they could receive live cricket scores updates and cricket schedule  through SMS. As you might have guessed, the application was made keeping in mind the potentially huge user-base during the ICC Cricket World-cup.

The main features of the Application are :
  1. View summary of all the live matches in progress
  2. View detailed score of a match
  3. Set a match as Favorite
  4. View schedule of upcoming ODIs, Tests and T20s.
  5. Predictor feature which enables users to vote who will win the match.

The application was immediately pushed into live production and within 3 matches, the app had already got a total of 16,000+ hits!

The usage statistics have been scaling new heights with each World-Cup match. Recently it crossed a total of 100,000 hits. We expect to cross 200,000 SMSes by the end of the World-Cup.

You may wish to try out the App: SMS @cric to 9243342000 to know live cricket scores and schedule of upcoming matches.


The Development :
The @cric Application runs on three core technologies :

1) TXTWEB SMS EngineTXTWEB is Intuit's SMS Platform for Mobile App Developers. http://www.txtweb.com/ is an online network for developers of SMS based apps to showcase and promote apps and connect with each other.

2) Google App Engine
From http://code.google.com/appengine/ :
 "Google App Engine lets you run your web applications on Google's infrastructure. App Engine applications are easy to build, easy to maintain, and easy to scale as your traffic and data storage needs grow."
I used the The Datastore Java API of Google App Engine for storing data, which is a schemaless object datastore, with a query engine and atomic transactions.

3) Google Web Toolkit
From http://code.google.com/webtoolkit/ :
 "GWT is a development toolkit for building and optimizing complex browser-based applications."
I used the Eclipse-GWT plugin for development.

The live scores are scraped from http://www.espncricinfo.com. JSoup HTML Parser library is used to get the data. In case there is a problem with CricInfo, I have implemented a backup scraper which uses http://scores.sify.com/index.shtml to get live-scores data. Schedule of upcoming matches is obtained from http://www.cricschedule.com.

Sunday, March 6, 2011

New kid on the corporate block

It has been a couple of months since I joined Kuliza. The journey so far has been a  wonderful experience and I could not have wished for a better or happier start to my corporate career.

Like most freshers, the 'One' big question that troubled me before I joined Kuliza was whether the work which would be assigned to me, be of my liking. I love to do work which involves lot of logical thinking, coding and using the latest technologies. And I was happily surprised when I was assigned my first live project within two weeks. n/ I was asked to create an application for mobile phone users to receive live cricket scores and cricket schedule updates through SMS. The application was easy to code but I learnt a lot of new things since I worked on the latest technologies like the Google web toolkit(GWT), Google App Engine and the TxtWeb SMS Engine. Moreover I also learnt how projects are managed in an organisation using Versioning and other Project Management tools. The best part about this project was that it was immediately pushed into live production and people actually started using it to keep track of live scores.

It is always a dream come true for a Developer to see their app being used by the masses. And I was overwhelmed when within 3 matches, the App had already got a total of 16000+ hits. :) With the Cricket World-Cup round the corner, hopefully the app will gain wide popularity.

You may wish to try out the App : SMS @cric to 9243342000 to know live cricket scores and schedule of upcoming matches.
[Normal SMS charges apply. No extra charges.]

Currently I am working on a project related to Semantic Web which involved Intelligently fetching data from a set of resources according to the need of the user using LOM and RDF to add intelligence to the system. I will soon blog more about this project.

Inspite of possessing an array of hard-core technologists who are ready to work round the clock when the situation demands, we never lose out when it comes to having fun. My short stint at Kuliza has been a delightful experience, not only because I love the work I am doing, but because of so many enjoyable moments I spent here. Be it my first 'official' outing experience was with the gDev team (Uday, Rohit, Nikhil and Gaurav) or the 'Resort-cum-Paint-Ball' Interns'-day-out with Deepak 'Sir', Achal and all the other interns. We are always looking for a reason to celebrate at Kuliza, be it Christmas or Kite-Flying. For the Gamers, Friday nights are reserved exclusively for Lan-Gaming
.


Apart from all this, the weekly bizKul sessions for the Interns, which are meant to help us transcend from college culture to the corporate culture provide a refreshing change with their innovative activities.

My Internship will continue another couple of months. I am happy to have learnt so much new and met so many wonderful people over such a short span of time at Kuliza.

ZA-Life ftW!!!


P.S. Looking forward to the next Hackathon :D

Monday, December 6, 2010

Installing windows 7 over existing Windows 7

5:00 AM

I installed the Windows 7 Ultimate Edition over the existing Windows 7 Tweaked Gamer edition which had a lot of bugs and minor issues here and there.

5:30 AM

Not able to delete the Windows.old and Windows.old000 folder which were automatically created, due to some issue with access permissions. Moreover there is a huge clutter of folders in the C: which are now of no use. These folders were not removed during the install and Windows is not allowing me to delete them now.

http://www.geckoandfly.com/5864/force-delete-locked-or-undeletable-files-and-folder-in-windows-7/

http://ccollomb.free.fr/unlocker/#download

5:40 AM

I guess I’ll format C: and again install a fresh copy of windows through USB into it to clean up all the clutter. zzZZ…

6:15 AM

Done. Laptop is as good as new Smile.

Sunday, December 5, 2010

Installing Windows 7 from USB stick

 

The shortest and simplest way :

Download Windows 7 USB/DVD Tool

 

Fix for the error :

“The selected file is not a valid ISO file. Please select a valid ISO file and try again.”

is as follows :

  • Open your .iso file in Power-ISO(full version if .iso > 300 MB)
  • Go to File–>Image properties
  • Check UDF
  • Press ok
  • Save your file

Now use the Windows 7 USB/DVD tool!!

 

No need to open command prompt at all Open-mouthed smile.

Other method :

http://www.intowindows.com/how-to-create-bootable-windows-7-usb-to-install-windows-7-from-usb-flash-drive-using-windows-7-dvdusb-tool/  [However this above method didn’t work out well using virtual  drives (win-7 .iso mounted on Power-ISO). ]

Powered By Blogger
Custom Search