Monday, September 05, 2016

FlowPy: from code to software


Cheers!! FlowPy, the software that we developed, got  three citations in published papers (PMID: 26116575, PMID: 27253695 & 27084942). 

It started as a lazy B. Tech project. My Ph. D student was using flow cytometry. We had good data. We wanted to use some advanced statistical analysis of that. Unfortunately, those tools are only available in commercial flow cytometry software. And to my utter surprise, our flow cytometer does not allow us to export raw data as plain-text. So we were trapped. We can not use any advanced statistical tools on our data.

So Tejas was entrusted to develop a software that would extract data from flow Cytometery files and export that as plain-text for further analysis. It was his B. Tech project. He wrote it in Python. We named it FlowPy.



At that time, I had no idea about software development. Software development is quite different from writing some codes for personal academic use. I had no idea about web-hosting of software, github, version control, GNU licence. We had no funding for the work either.

We were just happy to write the code, use it and share with others. So I posted the stuff at WikiDot, a blogging site. It is still there: http://flowpy.wikidot.com/

Over the years, other B. Tech students joined the team. Two students, M. V. S. R. Sastry, and Revanth Sai Kumar made most contributions. From a mere Python script, FlowPy graduated to a GUI-based software. It is no more a mere data extraction tool. It can also perform various statistical analysis and visualizations. 



We never published any paper on FlowPy. Just let it sleep at its WikiDot site. The information sipped slowly through the Web. Several Web lists of Flow Cytometry software listed FlowPy. Occasionally, I got queries on bug in our code. 

Slowly we were losing interest in FlowPy. For last one year, we stopped further development of FlowPy. But then came the bravo moment!! I realized some of our colleagues across the globe are using it successfully and two papers cited it. Unfortunately, WikiDot does not provide file download data. But Google Analytics tells me that we do get regular traffic. That too from all over the globe. 



Publishing a software is quite different from publishing a paper. A software is not a mere collection of information. It is a product: a product that has to be stable, reliable and works as promised. It has to work every time a user uses it. And we don't know the users.

That's why we are thrilled to see that some of our fellow scientists are finding FlowPy useful for their work. FlowPy is still buggy. It still has ample rooms for improvements.

We have again started development of FlowPy. Hope to remove the bugs and increase number of  in-built tools. If you use Flow Cytometry, give FlowPy a try and let us know your experience and expectations.

Happy Flow!

(Updated on 30/9/2016)

Sites that list FlowPy:

1. https://pypi.python.org/pypi/FlowCytometryTools/0.4.5
2. https://www.cds.caltech.edu/~murray/wiki/index.php/Flow_cytometry_software
3. http://gorelab.bitbucket.org/flowcytometrytools/
4. http://flowpy.software.informer.com/
5. http://en.freedownloadmanager.org/Windows-PC/FlowPy-FREE.html