<?xml version='1.0'?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:atom="http://www.w3.org/2005/Atom" >
<channel>
	<title><![CDATA[BOL: Related items]]></title>
	<link>https://bioinformaticsonline.com/related/30018?offset=10</link>
	<atom:link href="https://bioinformaticsonline.com/related/30018?offset=10" rel="self" type="application/rss+xml" />
	<description><![CDATA[]]></description>
	
	<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/blog/view/43670/useful-bioinformatics-analysis-tools</guid>
	<pubDate>Thu, 23 Dec 2021 23:10:02 -0600</pubDate>
	<link>https://bioinformaticsonline.com/blog/view/43670/useful-bioinformatics-analysis-tools</link>
	<title><![CDATA[Useful Bioinformatics Analysis Tools !]]></title>
	<description><![CDATA[<h3><a href="http://sun.aei.polsl.pl/REFRESH/index.php?page=projects&amp;project=cometa&amp;subpage=about">CoMeta</a></h3><p><strong>Classificier of reads from metagenomic sequencing experiments.</strong></p><p><span>&bull;&nbsp;&nbsp;Kawulok, J., Deorowicz, S.,&nbsp;</span><em>CoMeta: Classification of Metagenomes Using k-mers</em><span>,&nbsp;</span><a href="http://journals.plos.org/plosone/article?id=10.1371/journal.pone.0121453">PLOS ONE,&nbsp;</a><span>2015; 10(4):1&ndash;23,</span></p><h3><a href="http://sun.aei.polsl.pl/REFRESH/index.php?page=projects&amp;project=CoMSA&amp;subpage=about">CoMSA</a></h3><p><strong>Compressor of multiple sequence alignments of proteins.</strong></p><p><span>&bull;&nbsp;&nbsp;Deorowicz, S., Walczyszyn, J., Debudaj-Grabysz, A.,&nbsp;</span><em>CoMSA: compression of protein multiple sequence alignment files</em><span>,&nbsp;</span><a href="https://doi.org/10.1093/bioinformatics/bty619">Bioinformatics,&nbsp;</a><span>2019; 35(2):22&ndash;234,</span></p><h3><a href="http://sun.aei.polsl.pl/REFRESH/index.php?page=projects&amp;project=dsrc&amp;subpage=about">DSRC</a></h3><p><strong>Compressor of sequencing reads.</strong></p><p><span>&bull;&nbsp;&nbsp;Roguski, L., Deorowicz, S.,&nbsp;</span><em>DSRC 2: Industry-oriented compression of FASTQ files</em><span>,&nbsp;</span><a href="http://bioinformatics.oxfordjournals.org/content/30/15/2213">Bioinformatics,&nbsp;</a><span>2014; 30(15):2213&ndash;2215,</span><br /><span>&bull;&nbsp;&nbsp;Deorowicz, S., Grabowski, Sz.,&nbsp;</span><em>Compression of DNA sequences in FASTQ format</em><span>,&nbsp;</span><a href="http://bioinformatics.oxfordjournals.org/">Bioinformatics,&nbsp;</a><span>2011; 27(6):860&ndash;862,</span></p><h3><a href="http://sun.aei.polsl.pl/REFRESH/index.php?page=projects&amp;project=famsa&amp;subpage=about">FAMSA</a></h3><p><strong>Multiple sequence alignment designed for huge families of proteins (even containing hundreds of thousands of sequences).</strong></p><p><span>&bull;&nbsp;&nbsp;Deorowicz, S., Debudaj-Grabysz, A., Gudys, A.,&nbsp;</span><em>FAMSA: Fast and accurate multiple sequence alignment of huge protein families</em><span>,&nbsp;</span><a href="http://www.nature.com/articles/srep33964">Scientific Reports,&nbsp;</a><span>2016; 6(33964):</span></p><h3><a href="http://sun.aei.polsl.pl/REFRESH/index.php?page=projects&amp;project=fastore&amp;subpage=about">FaStore</a></h3><p><strong>Compressor of FASTQ files.</strong></p><p><span>&bull;&nbsp;&nbsp;Roguski, L., Ochoa, I., Hernaez, M., Deorowicz, S.,&nbsp;</span><em>FaStore - a space-saving solution for raw sequencing data</em><span>,&nbsp;</span><a href="https://doi.org/10.1093/bioinformatics/bty205">Bioinformatics,&nbsp;</a><span>2018; 34(16):2748&ndash;2756,</span></p><h3><a href="http://sun.aei.polsl.pl/REFRESH/index.php?page=projects&amp;project=fqsqueezer&amp;subpage=about">FQSqueezer</a></h3><p><strong>Experimental high-end compressor of FASTQ files.</strong></p><p><span>&bull;&nbsp;&nbsp;Deorowicz, S.,&nbsp;</span><em>FQSqueezer: k-mer-based compression of sequencing data</em><span>,&nbsp;</span><a href="https://www.nature.com/articles/s41598-020-57452-6">Scientific Reports,&nbsp;</a><span>2020; 10(578):</span></p><h3><a href="http://sun.aei.polsl.pl/REFRESH/index.php?page=projects&amp;project=gdc&amp;subpage=about">GDC</a></h3><p><strong>Compressor of collections of genome sequences.</strong></p><p><span>&bull;&nbsp;&nbsp;Deorowicz, S., Danek, A., Niemiec, M.,&nbsp;</span><em>GDC 2: Compression of large collections of genomes</em><span>,&nbsp;</span><a href="http://www.nature.com/srep/2015/150625/srep11565/full/srep11565.html">Scientific Reports,&nbsp;</a><span>2015; 5(11565):1&ndash;12,</span><br /><span>&bull;&nbsp;&nbsp;Deorowicz, S., Grabowski, Sz.,&nbsp;</span><em>Robust relative compression of genomes with random access</em><span>,&nbsp;</span><a href="http://sun.aei.polsl.pl/REFRESH/bioinformatics.oxfordjournals.org/content/27/21/2979.abstract">Bioinformatics,&nbsp;</a><span>2011; 27(21):2979&ndash;2986,</span></p><h3><a href="http://sun.aei.polsl.pl/REFRESH/index.php?page=projects&amp;project=gtc&amp;subpage=about">GTC</a></h3><p><strong>Genotype databases compressor with support for fast queries.</strong></p><p><span>&bull;&nbsp;&nbsp;Danek, A., Deorowicz, S.,&nbsp;</span><em>GTC: how to maintain huge genotype collections in a compressed form</em><span>,&nbsp;</span><a href="https://doi.org/10.1093/bioinformatics/bty023">Bioinformatics,&nbsp;</a><span>2018; 34(11):1834&ndash;1840,</span></p><h3><a href="http://sun.aei.polsl.pl/REFRESH/index.php?page=projects&amp;project=gtshark&amp;subpage=about">GTShark</a></h3><p><strong>Genotypes compressor.</strong></p><p><span>&bull;&nbsp;&nbsp;Deorowicz, S., Danek, A.,&nbsp;</span><em>GTShark: Genotype compression in large projects</em><span>,&nbsp;</span><a href="https://doi.org/10.1093/bioinformatics/btz508">Bioinformatics,&nbsp;</a><span>2019; 35(22):4791&ndash;4793,</span></p><h3><a href="http://sun.aei.polsl.pl/REFRESH/index.php?page=projects&amp;project=kmc&amp;subpage=about">KMC</a></h3><p><strong>Memory frugal&nbsp;<em>k</em>-mer counter.</strong></p><p><span>&bull;&nbsp;&nbsp;Kokot, M., Długosz, M., Deorowicz, S.,&nbsp;</span><em>KMC 3: counting and manipulating k -mer statistics</em><span>,&nbsp;</span><a href="https://doi.org/10.1093/bioinformatics/btx304">Bioinformatics,&nbsp;</a><span>2017; 33(17):2759&ndash;2761,</span><br /><span>&bull;&nbsp;&nbsp;Deorowicz, S., Kokot, M., Grabowski, Sz., Debudaj-Grabysz, A.,&nbsp;</span><em>KMC 2: Fast and resource-frugal k-mer counting</em><span>,&nbsp;</span><a href="https://doi.org/10.1093/bioinformatics/btv022">Bioinformatics,&nbsp;</a><span>2015; 31(10):1569&ndash;1576,</span><br /><span>&bull;&nbsp;&nbsp;Deorowicz, S., Debudaj-Grabysz, A., Grabowski, Sz.,&nbsp;</span><em>Disk-based k-mer counting on a PC</em><span>,&nbsp;</span><a href="http://www.biomedcentral.com/1471-2105/14/160">BMC Bioinformatics,&nbsp;</a><span>2013; 14():Article no. 160,</span></p><h3><a href="http://sun.aei.polsl.pl/REFRESH/index.php?page=projects&amp;project=kmer-db&amp;subpage=about">Kmer-db</a></h3><p><strong>Tool for estimation of evolutionary distances in a collection of genomes.</strong></p><p><span>&bull;&nbsp;&nbsp;Deorowicz, S., Gudys, A., Dlugosz, M., Kokot, M., Danek, A.,&nbsp;</span><em>Kmer-db: instant evolutionary distance estimation</em><span>,&nbsp;</span><a href="https://doi.org/10.1093/bioinformatics/bty610">Bioinformatics,&nbsp;</a><span>2019; 35(1):133&ndash;136,</span></p><h3><a href="http://sun.aei.polsl.pl/REFRESH/index.php?page=projects&amp;project=mugi&amp;subpage=about">MuGI</a></h3><p><strong>Index allowing queries for a collection of multiple genome sequences.</strong></p><p><span>&bull;&nbsp;&nbsp;Danek, A., Deorowicz, S., Grabowski, Sz.,&nbsp;</span><em>Indexes of Large Genome Collections on a PC</em><span>,&nbsp;</span><a href="http://journals.plos.org/plosone/article?id=10.1371/journal.pone.0109384">PLOS ONE,&nbsp;</a><span>2014; 9(10):e109384,</span></p><h3><a href="http://sun.aei.polsl.pl/REFRESH/index.php?page=projects&amp;project=orcom&amp;subpage=about">ORCOM</a></h3><p><strong>Experimental compressor of sequencing reads.</strong></p><p><span>&bull;&nbsp;&nbsp;Grabowski, Sz., Deorowicz, S., Roguski, L.,&nbsp;</span><em>Disk-based compression of data from genome sequencing</em><span>,&nbsp;</span><a href="http://bioinformatics.oxfordjournals.org/content/early/2014/12/22/bioinformatics.btu844.abstract">Bioinformatics,&nbsp;</a><span>2014; 31(9):1389&ndash;1395,</span></p><h3><a href="http://sun.aei.polsl.pl/REFRESH/index.php?page=projects&amp;project=pgsa&amp;subpage=about">PgSA</a></h3><p><strong>Index allowing queries for a collection of sequencing reads.</strong></p><p><span>&bull;&nbsp;&nbsp;Kowalski, T., Grabowski, Sz., Deorowicz, S.,&nbsp;</span><em>Indexing arbitrary-length k-mers in sequencing reads</em><span>,&nbsp;</span><a href="http://journals.plos.org/plosone/article?id=10.1371/journal.pone.0133198">PLOS ONE,&nbsp;</a><span>2015; 10(7):1&ndash;16,</span></p><h3><a href="http://sun.aei.polsl.pl/REFRESH/index.php?page=projects&amp;project=quickprobs&amp;subpage=about">QuickProbs</a></h3><p><strong>Multiple sequence alignment designed especially for GPU.</strong></p><p><span>&bull;&nbsp;&nbsp;Gudys, A., Deorowicz, S.,&nbsp;</span><em>QuickProbs 2: towards rapid construction of high-quality alignments of large protein families</em><span>,&nbsp;</span><a href="http://www.nature.com/articles/srep41553">Scientific Reports,&nbsp;</a><span>2017; 7(41553):</span><br /><span>&bull;&nbsp;&nbsp;Gudys, A., Deorowicz, S.,&nbsp;</span><em>QuickProbs &ndash; A Fast Multiple Sequence Alignment Algorithm Designed for Graphics Processors</em><span>,&nbsp;</span><a href="http://www.plosone.org/article/info%3Adoi%2F10.1371%2Fjournal.pone.0088901">PLOS ONE,&nbsp;</a><span>2014; 9(2):e88901,</span></p><h3><a href="http://sun.aei.polsl.pl/REFRESH/index.php?page=projects&amp;project=reckoner&amp;subpage=about">RECKONER</a></h3><p><strong>Read error corrector.</strong></p><p><span>&bull;&nbsp;&nbsp;Maciej Długosz, M., Deorowicz, S.,&nbsp;</span><em>RECKONER: read error corrector based on KMC</em><span>,&nbsp;</span><a href="https://academic.oup.com/bioinformatics/article-abstract/33/7/1086/2843893/RECKONER-read-error-corrector-based-on-KMC">Bioinformatics,&nbsp;</a><span>2017; 33(7):1086&ndash;1089,</span></p><h3><a href="http://sun.aei.polsl.pl/REFRESH/index.php?page=projects&amp;project=tgc&amp;subpage=about">TGC</a></h3><p><strong>Compressor of collections of genomes given in Variant Call Format (VCF) files.</strong></p><p><span>&bull;&nbsp;&nbsp;Deorowicz, S., Danek, A., Grabowski, Sz.,&nbsp;</span><em>Genome compression: a novel approach for large collections</em><span>,&nbsp;</span><a href="http://bioinformatics.oxfordjournals.org/content/early/2013/08/29/bioinformatics.btt460">Bioinformatics,&nbsp;</a><span>2013; 29(20):2572&ndash;2578,</span></p><h3><a href="http://sun.aei.polsl.pl/REFRESH/index.php?page=projects&amp;project=vcfshark&amp;subpage=about">VCFShark</a></h3><p><strong>Compressor of VCF files.</strong></p><p><span>&bull;&nbsp;&nbsp;Deorowicz, S., Danek, A.,&nbsp;</span><em>GTShark: Genotype compression in large projects</em><span>,&nbsp;</span><a href="https://www.biorxiv.org/content/10.1101/2020.12.18.423437v1">biorxiv.org,&nbsp;</a><span>2020; ():</span></p><h3><a href="http://sun.aei.polsl.pl/REFRESH/index.php?page=projects&amp;project=whisper&amp;subpage=about">Whisper</a></h3><p><strong>Experimental mapper of whole genome sequencing data.</strong></p><p><span>&bull;&nbsp;&nbsp;Deorowicz, S., Gudys, A.,&nbsp;</span><em>Whisper 2: indel-sensitive short read mapping</em><span>,&nbsp;</span><a href="https://doi.org/10.1101/2019.12.18.881292">bioRxiv.org,&nbsp;</a><span>2019; :</span><br /><span>&bull;&nbsp;&nbsp;Deorowicz, S., Debudaj-Grabysz, A., Gudys, A., Grabowski, Sz.,&nbsp;</span><em>Whisper: read sorting allows robust robust mapping of DNA sequencing data</em><span>,&nbsp;</span><a href="https://doi.org/10.1093/bioinformatics/bty927">Bioinformatics,&nbsp;</a><span>2019; 35(12):2043&ndash;2050,</span><br /><span>&bull;&nbsp;&nbsp;Deorowicz, S., Debudaj-Grabysz, A., Gudys, A., Grabowski, Sz.,&nbsp;</span><em>Robust mapping of whole genome sequencing data</em><span>,&nbsp;</span><a href="https://meetings.cshl.edu/abstracts.aspx?meet=GENOME&amp;year=17">Poster at The Biology of Genomes Conference,&nbsp;</a><span>2017;</span></p>]]></description>
	<dc:creator>Neel</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/pages/view/35805/python-learning-resources-for-bioinformatics-and-computational-biologist</guid>
	<pubDate>Fri, 02 Mar 2018 06:54:15 -0600</pubDate>
	<link>https://bioinformaticsonline.com/pages/view/35805/python-learning-resources-for-bioinformatics-and-computational-biologist</link>
	<title><![CDATA[Python learning resources for bioinformatics and computational biologist !]]></title>
	<description><![CDATA[<p>Python is a general-purpose language, which means it can be used to build just about anything, which will be made easy with the right tools/libraries.</p><p>Professionally, Python is great for backend web development, data analysis, artificial intelligence, and scientific computing. Many developers have also used Python to build productivity tools, games, and desktop apps, so there are plenty of resources to help you learn how to do those as well.</p><p>For pros and cons visit&nbsp;http://www.bestprogramminglanguagefor.me/why-learn-python and&nbsp;http://bioinformaticsonline.com/discussion/view/459/python-vs-perl</p><p>More resources at&nbsp;https://github.com/CodementorIO/Python-Learning-Resources</p><p>Following are the list of useful python programming resources:</p><ul>
<li><a href="http://www.oreilly.com/programming/free/20-python-libraries-you-arent-using-but-should.csp">20 Python Libraries You Aren't Using (But Should)</a>&nbsp;<em>(Just fill the fields with any values)</em></li>
<li><a href="https://en.wikibooks.org/wiki/A_Beginner%27s_Python_Tutorial">A Beginner's Python Tutorial</a></li>
<li><a href="https://python.swaroopch.com/">A Byte of Python</a>&nbsp;(3.x) (HTML, PDF, EPUB, Mobi)</li>
<li><a href="https://github.com/RafeKettler/magicmethods">A Guide to Python's Magic Methods</a>&nbsp;- Rafe Kettler</li>
<li><a href="http://www.oreilly.com/programming/free/files/a-whirlwind-tour-of-python.pdf">A Whirlwind Tour of Python</a>&nbsp;- Jake VanderPlas (PDF)&nbsp;<a href="http://www.oreilly.com/programming/free/a-whirlwind-tour-of-python.csp?download=yes">(EPUB, MOBI)</a></li>
<li><a href="http://automatetheboringstuff.com/chapter0/">Automate the Boring Stuff</a>&nbsp;- Al Sweigart</li>
<li><a href="http://biopython.org/DIST/docs/tutorial/Tutorial.pdf">Biopython</a>&nbsp;(PDF)</li>
<li><a href="http://github.com/thewhitetulip/build-app-with-python-antitextbook">Build applications in Python the antitextbook</a>&nbsp;(3.x) (HTML, PDF, EPUB, Mobi)</li>
<li><a href="https://www.packtpub.com/packt/free-ebook/python-machine-learning-algorithms">Building Machine Learning Systems with Python</a>&nbsp;- Willi Richert &amp; Luis Pedro Coelho, Packt.&nbsp;<em>(Just fill the fields with any values)</em></li>
<li><a href="http://www.itmaybeahack.com/book/oodesign-python-2.1/latex/BuildingSkillsinOODesign.pdf">Building Skills in Object-Oriented Design (Python)</a>&nbsp;(PDF) (2.1.1)</li>
<li><a href="http://www.itmaybeahack.com/book/python-2.6/latex/BuildingSkillsinPython.pdf">Building Skills in Python</a>&nbsp;(PDF) (2.6)</li>
<li><a href="http://python.net/~goodger/projects/pycon/2007/idiomatic/handout.html">Code Like a Pythonista: Idiomatic Python</a></li>
<li><a href="https://www.codecademy.com/learn/python">CodeCademy Python</a></li>
<li><a href="http://composingprograms.com/">Composing Programs</a>&nbsp;(3.x)</li>
<li><a href="https://web.archive.org/web/20161016153130/http://www.brpreiss.com/books/opus7/html/book.html">Data Structures and Algorithms in Python</a>&nbsp;- B. R. Preiss (PDF)</li>
<li><a href="http://getpython3.com/diveintopython3/">Dive into Python 3</a>&nbsp;- Mark Pilgrim (3.0)
<ul>
<li><a href="http://www.diveintopython.net/">Dive into Python</a>&nbsp;- Mark Pilgrim (2.3)</li>
</ul>
</li>
<li><a href="http://www.labri.fr/perso/nrougier/from-python-to-numpy/">From Python to NumPy</a></li>
<li><a href="http://www.fullstackpython.com/">Full Stack Python</a></li>
<li><a href="http://www.oreilly.com/programming/free/functional-programming-python.csp">Functional Programming in Python</a>&nbsp;<em>(Just fill the fields with any values)</em></li>
<li><a href="http://python.cs.southern.edu/pythonbook/pythonbook.pdf">Fundamentals of Python Programming</a>&nbsp;- Richard L. Halterman (PDF) (3.2)</li>
<li><a href="https://developers.google.com/edu/python/">Google's Python Class</a>&nbsp;(2.4 - 2.x)</li>
<li><a href="https://google.github.io/styleguide/pyguide.html">Google's Python Style Guide</a></li>
<li><a href="http://inventwithpython.com/hacking/chapters/">Hacking Secret Cyphers with Python</a>&nbsp;- Al Sweigart (3.3)</li>
<li><a href="http://www.oreilly.com/programming/free/hadoop-with-python.csp">Hadoop with Python</a>&nbsp;<em>(Just fill the fields with any values)</em></li>
<li><a href="http://ianozsvald.com/HighPerformancePythonfromTrainingatEuroPython2011_v0.2.pdf">High Performance Python</a>&nbsp;(PDF)</li>
<li><a href="http://docs.python-guide.org/en/latest/">Hitchhiker's Guide to Python!</a>&nbsp;(2.6)</li>
<li><a href="http://www.oreilly.com/programming/free/files/how-to-make-mistakes-in-python.pdf">How to Make Mistakes in Python</a>&nbsp;- Mike Pirnat (PDF) (1st edition)</li>
<li><a href="http://interactivepython.org/courselib/static/thinkcspy/index.html">How to Think Like a Computer Scientist: Learning with Python, Interactive Edition</a>&nbsp;(3.2)
<ul>
<li><a href="http://www.greenteapress.com/thinkpython/thinkCSpy/">How to Think Like a Computer Scientist: Learning with Python</a>&nbsp;- Allen B. Downey, Jeff Elkner and Chris Meyers (2.4)</li>
<li><a href="http://www.greenteapress.com/thinkpython/">Think Python</a>&nbsp;- Allen B. Downey (2.x &amp; 3.0)</li>
</ul>
</li>
<li><a href="http://book.pythontips.com/en/latest/index.html">Intermediate Python</a>&nbsp;- Muhammad Yasoob Ullah Khalid (1st edition)</li>
<li><a href="http://opentechschool.github.io/python-beginners/en/">Introduction to Programming with Python</a>&nbsp;(3.3)
<ul>
<li><a href="http://python-ebook.blogspot.co.uk/">Introduction to Programming Using Python</a>&nbsp;- Cody Jackson (1st edition) (2.3)</li>
</ul>
</li>
<li><a href="http://kracekumar.com/post/71171551647/introduction-to-python">Introduction to Python</a>&nbsp;- Kracekumar (2.7.3)</li>
<li><a href="http://inventwithpython.com/chapters/">Invent Your Own Computer Games With Python</a>&nbsp;- Al Sweigart (3.1)</li>
<li><a href="http://learnpythonbreakpython.com/">Learn Python, Break Python</a></li>
<li><a href="https://learnxinyminutes.com/docs/python/">Learn Python in Y minutes</a></li>
<li><a href="http://learnpythonthehardway.org/book/">Learn Python The Hard Way</a>&nbsp;(2.5 - 2.6)</li>
<li><a href="https://www.ida.liu.se/~732A47/literature/PythonBook.pdf">Learn to Program Using Python</a>&nbsp;- Cody Jackson (PDF)</li>
<li><a href="https://www.packtpub.com/packt/free-ebook/learning-python">Learning Python</a>&nbsp;- Fabrizio Romano, Packt.&nbsp;<em>(Just fill the fields with any values)</em></li>
<li><a href="http://www.alan-g.me.uk/">Learning to Program</a></li>
<li><a href="https://github.com/jrjohansson/scientific-python-lectures">Lectures on scientific computing with python</a>&nbsp;- J.R. Johansson (2.7)</li>
<li><a href="http://inventwithpython.com/pygame/chapters/">Making Games with Python &amp; Pygame</a>&nbsp;- Al Sweigart (2.7)</li>
<li><a href="http://www.clips.ua.ac.be/sites/default/files/modeling-creativity.pdf">Modeling Creativity: Case Studies in Python</a>&nbsp;- Tom D. De Smedt (PDF)</li>
<li><a href="http://www.nltk.org/book/">Natural Language Processing with Python</a>&nbsp;(3.x)</li>
<li><a href="https://en.wikibooks.org/wiki/Non-Programmer%27s_Tutorial_for_Python_3">Non-Programmer's Tutorial for Python 3</a>&nbsp;(3.3)
<ul>
<li><a href="https://en.wikibooks.org/wiki/Non-Programmer%27s_Tutorial_for_Python_2.6">Non-Programmer's Tutorial for Python 2.6</a>&nbsp;(2.6)</li>
</ul>
</li>
<li><a href="http://www.oreilly.com/programming/free/from-future-import-python.csp">Picking a Python Version: A Manifesto</a>&nbsp;<em>(Just fill the fields with any values)</em></li>
<li><a href="http://python3porting.com/">Porting to Python 3: An In-Depth Guide</a>&nbsp;(2.6 - 2.x &amp; 3.1 - 3.x)</li>
<li><a href="https://launchpadlibrarian.net/165489933/PracticalProgrammingPython2014.pdf">Practical Programming in Python</a>&nbsp;- Jeffrey Elkner (PDF)</li>
<li><a href="http://interactivepython.org/runestone/static/pythonds/index.html">Problem Solving with Algorithms and Data Structures using Python</a>&nbsp;- Bradley N. Miller and David L. Ranum</li>
<li><a href="http://programarcadegames.com/">Program Arcade Games With Python And Pygame</a>&nbsp;(3.3)</li>
<li><a href="http://programmingcomputervision.com/downloads/ProgrammingComputerVision_CCdraft.pdf">Programming Computer Vision with Python</a>&nbsp;(PDF)</li>
<li><a href="https://docs.python.org/2/download.html">Python 2 Official Documentation</a>&nbsp;(PDF, HTML, TEXT) (2.x)</li>
<li><a href="http://infohost.nmt.edu/tcc/help/pubs/python/web/">Python 2.7 quick reference</a>&nbsp;- New Mexico Tech (2.7)</li>
<li><a href="https://docs.python.org/3/download.html">Python 3 Official Documentation</a>&nbsp;(PDF, EPUB, HTML, TEXT) (3.x)</li>
<li><a href="http://chimera.labs.oreilly.com/books/1230000000393/index.html">Python Cookbook</a>&nbsp;- David Beazley</li>
<li><a href="https://github.com/jakevdp/PythonDataScienceHandbook">Python Data Science Handbook</a>&nbsp;- Jake VanderPlas (HTML, Jupyter Notebooks)</li>
<li><a href="http://www.kevinsheppard.com/images/0/09/Python_introduction.pdf">Python for Econometrics</a>&nbsp;- Kevin Sheppard (PDF) (2.7.5)</li>
<li><a href="http://py4e.com/book.php">Python for Everybody Exploring Data Using Python 3</a>&nbsp;- Charles Severance (PDF, EPUB, HTML)
<ul>
<li><a href="http://www.pythonlearn.com/book.php">Python for Informatics: Exploring Information</a>&nbsp;(2.7.5)</li>
</ul>
</li>
<li><a href="http://pymbook.readthedocs.org/en/latest/">Python for you and me</a>&nbsp;(2.7.3)</li>
<li><a href="http://pymbook.readthedocs.org/en/py3/">Python for you and me</a>&nbsp;(3.x)</li>
<li><a href="http://safehammad.com/downloads/python-idioms-2014-01-16.pdf">Python Idioms</a>&nbsp;(PDF)</li>
<li><a href="http://www.oreilly.com/programming/free/python-in-education.csp">Python in Education</a>&nbsp;<em>(Just fill the fields with any values)</em></li>
<li><a href="http://www.greenteapress.com/pythonhydro/pythonhydro.html">Python in Hydrology</a>&nbsp;- Sat Kumar Tomer</li>
<li><a href="https://github.com/gregmalcolm/python_koans">Python Koans</a>&nbsp;(2.7 or 3.x)</li>
<li><a href="https://pymotw.com/3/">Python Module of the Week</a>&nbsp;(3.x)
<ul>
<li><a href="https://pymotw.com/2/">Python Module of the Week</a>&nbsp;(2.x)</li>
</ul>
</li>
<li><a href="http://books.goalkicker.com/PythonBook/">Python Notes for Professionals</a>&nbsp;- Compiled from StackOverflow documentation (3.x)</li>
<li><a href="http://anandology.com/python-practice-book/index.html">Python Practice Book</a>&nbsp;(2.7.1)</li>
<li><a href="http://pythonpracticeprojects.com/">Python Practice Projects</a></li>
<li><a href="https://upload.wikimedia.org/wikipedia/commons/9/91/Python_Programming.pdf">Python Programming</a>&nbsp;(PDF) (2.6)</li>
<li><a href="http://scipy-lectures.github.io/">Scipy Lecture Notes</a></li>
<li><a href="http://www-inst.eecs.berkeley.edu/~cs61a/sp12/book/">SICP in Python</a>&nbsp;(3.2)</li>
<li><a href="http://www.briggs.net.nz/snake-wrangling-for-kids.html">Snake Wrangling For Kids</a>&nbsp;(3.x)</li>
<li><a href="http://python3porting.com/">Suporting Python 3: An In-Depth Guide</a>&nbsp;(2.6 - 2.x &amp; 3.1 - 3.x)</li>
<li><a href="http://chimera.labs.oreilly.com/books/1234000000754/index.html">Test-Driven Web Development with Python</a>&nbsp;(3.3 - 3.x)</li>
<li><a href="http://gnosis.cx/TPiP/">Text Processing in Python</a>&nbsp;- David Mertz (2.3 - 2.x)</li>
<li><a href="http://www.spronck.net/pythonbook/">The Coder's Apprentice: Learning Programming with Python 3</a>&nbsp;- Pieter Spronck (PDF) (3.x)</li>
<li><a href="http://www.jython.org/jythonbook/en/1.0">The Definitive Guide to Jython, Python for the Java Platform</a>&nbsp;- Josh Juneau, Jim Baker, Victor Ng, Leo Soto, Frank Wierzbicki (2.5)</li>
<li><a href="http://docs.quantifiedcode.com/python-anti-patterns/">The Little Book of Python Anti-Patterns</a>&nbsp;(<a href="https://github.com/quantifiedcode/python-anti-patterns">Source</a>)</li>
<li><a href="http://niche-canada.org/research/niche-digital-infrastructure-project/the-programming-historian/">The Programming Historian</a>&nbsp;- William J. Turkel, Adam Crymble and Alan MacEachern</li>
<li><a href="http://mirnazim.org/writings/python-ecosystem-introduction/">The Python Ecosystem: An Introduction</a></li>
<li><a href="http://python-gtk-3-tutorial.readthedocs.org/en/latest/">The Python GTK+ 3 Tutorial</a></li>
<li><a href="http://effbot.org/librarybook/">The Standard Python Library</a>&nbsp;- Fredrik Lundh</li>
<li><a href="http://greenteapress.com/complexity/">Think Complexity</a>&nbsp;- Allen B. Downey (2nd Edition) (PDF, HTML)</li>
<li><a href="http://web2py.com/book">Web2py: Complete Reference Manual, 6th Edition (pre-release)</a>&nbsp;(2.5 - 2.x)</li>
<li><a href="https://en.wikibooks.org/wiki/Python_Programming">Wikibooks: Python Programming</a>&nbsp;(2.7)</li>
</ul>]]></description>
	<dc:creator>Jit</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/news/view/39606/amity-university-bioinformatics-summer-program-kolkata</guid>
	<pubDate>Tue, 11 Jun 2019 21:27:10 -0500</pubDate>
	<link>https://bioinformaticsonline.com/news/view/39606/amity-university-bioinformatics-summer-program-kolkata</link>
	<title><![CDATA[Amity University Bioinformatics Summer Program - Kolkata]]></title>
	<description><![CDATA[<p>Registrations are now open for the 2019 Summer Bioinformatics Training program at Amity University, Kolkata. The program will focus on introductory topics for life science students. We will review important history, topics and challenges bioinformatics can help address in the context of basic research, discovery and industry.</p><p>Read more: https://edu.t-bio.info/amity-university-summer-bioinformatics-program-registrations-are-open/</p>]]></description>
	<dc:creator>eliabrodsky</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/40272/seq-a-high-performance-pythonic-language-for-bioinformatics</guid>
	<pubDate>Sat, 23 Nov 2019 08:58:12 -0600</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/40272/seq-a-high-performance-pythonic-language-for-bioinformatics</link>
	<title><![CDATA[Seq: A high-performance, Pythonic language for bioinformatics]]></title>
	<description><![CDATA[<p>&nbsp;</p>
<p>Seq is a programming language for computational genomics and bioinformatics. With a Python-compatible syntax and a host of domain-specific features and optimizations, Seq makes writing high-performance genomics software as easy as writing Python code, and achieves performance comparable to (and in many cases better than) C/C++.</p>
<p>Learn more by following the&nbsp;<a href="https://github.com/seq-lang/seq/blob/master/docs/sphinx/tutorial.rst">tutorial</a>&nbsp;or from the&nbsp;<a href="https://github.com/seq-lang/seq/blob/master/docs/sphinx/cookbook.rst">cookbook</a>.</p><p>Address of the bookmark: <a href="https://seq-lang.org" rel="nofollow">https://seq-lang.org</a></p>]]></description>
	<dc:creator>Rahul Nayak</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/blog/view/37586/julia-programming-language-a-python-and-r-rival</guid>
	<pubDate>Sat, 25 Aug 2018 04:46:39 -0500</pubDate>
	<link>https://bioinformaticsonline.com/blog/view/37586/julia-programming-language-a-python-and-r-rival</link>
	<title><![CDATA[Julia Programming Language, a Python and R rival]]></title>
	<description><![CDATA[<p>Big data has grown to become one of the most lucrative fields. In fact, data scientists are some of the most sought people. They are usually hired to analyze, control and parse large chunks of data. Implementing these actions using traditional techniques is not a walk in the park. This is why most data scientists prefer using programming languages such as R and Python. However, there is one more programming language that can do the job. That is Julia programming language.</p><p>What Is Julia Language?</p><p>Julia is a programming language that came into the limelight in 2012. It is a general-purpose programming language that was designed for solving scientific computations. Julia was meant to be an alternative to Python, R and other programming languages that were mainly used for manipulating data. This is because it has numerous features that can minimize the complexities of numerical computations.&nbsp;</p><p>Julia optimizes on the best features of Python and R while at the same time overlooks their weaknesses. This explains why it is viewed as an alternative to these programming languages. For instance, it utilizes the readability and simplicity of Python then performs faster.</p><p>Julia is the most preferred programming language for data scientists and mathematicians. This is because its core features are similar to the ones that are used on most data software. Also, the language is ideal for these two subjects because its syntax is similar to the standard mathematical formulas.</p><p>Key Features Of Julia Language<br />Uses JIT Compilation<br />Parallelism<br />Dynamic Typing<br />Simple Syntax<br />Allows Metaprogramming<br />Accessible to Libraries<br />-1-Array Indexing</p><p>Julia Vs Python And R Programming Languages<br />1. Speed<br />Julia is faster than both Python and R. This is a very critical aspect that is given special attention in the big data programming. The high speed of Julia is because of JIT compilers. You will need to install external libraries on Python to achieve similar speed.</p><p>2. Syntax<br />Julia has a math-friendly syntax. The syntax of this programming language is similar to the mathematical formulas hence can be used to perform mathematical and scientific computations. This syntax makes it easier to learn than Python.</p><p>3. Parallelism<br />Although both Python and R use parallelism, Julia uses a top-level parallelism. Julia allows the processor to perform to the optimum level than what Python and R can achieve.</p><p>4. Versatility<br />Julia programming language is more versatile than Python and R. It allows a programmer to move from different codes and functions with ease.</p><p>The only area that Python and R are superior to Julia is in terms of community. Given that Julia is a new programming language, it has a small community as compared to others which have been around for years.</p><p>In overall Julia programming language is a better alternative that you can use to handle Big data projects. Despite having a small community, it is one of those programming languages that you can easily learn.</p>]]></description>
	<dc:creator>Radha Agarkar</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/news/view/14186/pybedtools</guid>
	<pubDate>Wed, 20 Aug 2014 01:03:41 -0500</pubDate>
	<link>https://bioinformaticsonline.com/news/view/14186/pybedtools</link>
	<title><![CDATA[pybedtools]]></title>
	<description><![CDATA[<p>pybedtools is a Python wrapper for Aaron Quinlan's BEDtools programs (https://github.com/arq5x/bedtools), which are widely used for genomic interval manipulation or "genome algebra". pybedtools extends BEDTools by offering feature-level manipulations from with Python. See full online documentation, including installation instructions, at http://pythonhosted.org/pybedtools/.</p><p>More at http://pythonhosted.org/pybedtools/</p><p>A powerful toolset for genome arithmetic.http://code.google.com/p/bedtools/</p>]]></description>
	<dc:creator>Shruti Paniwala</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/poll/view/15000/which-mathstatistics-programming-languageapplication-do-you-most-frequently-use-in-bioinformatics</guid>
	<pubDate>Thu, 04 Sep 2014 17:46:41 -0500</pubDate>
	<link>https://bioinformaticsonline.com/poll/view/15000/which-mathstatistics-programming-languageapplication-do-you-most-frequently-use-in-bioinformatics</link>
	<title><![CDATA[Which math/statistics programming language/application do you most frequently use in bioinformatics?]]></title>
	<description><![CDATA[<p>I'm doing a bit more statistical analysis on some bioinformatics things lately, and I'm curious if there are any programming languages that are particularly good for this NGS computation. What suggestions do you guys have? Are there any languages that have exceptionally good libraries?</p>]]></description>
	<dc:creator>John Parker</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/22961/bioscripts</guid>
	<pubDate>Sun, 28 Jun 2015 07:46:14 -0500</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/22961/bioscripts</link>
	<title><![CDATA[BioScripts]]></title>
	<description><![CDATA[<p>You are requested to please bookmark collection of bioinformatics tools, scripts, codes that can be pieced together in a very easy and flexible manner to perform both simple and complex bioinformatics tasks.</p>
<p>The next-generation sequencing included whole genome sequencing(WGS), transcriptome sequencing (whole cDNA sequencing, RNA-seq), digital gene expression sequencing (Tag-Seq), ChIP-Seq, and so on. And there are many sequencing platform to generate sequece, as well know Sanger/ABi(the frist generation), Solexa/illumina, SOLiD/ABi, 454/Roche. But thier sequence format is different, also they have different error type. High quality data is very important for further analysis or data mining. There are many pipeline for raw sequence quality analysis and control with few of process for reporting reads quality statistical details, trimming, filtering, and error correction. Please bookmarks them for the benefits of bioinformatics community.</p>
<p>https://code.google.com/p/biowiki/</p>
<p>https://code.google.com/p/ngs-pipeline/source/browse/#svn%2Ftrunk</p>
<p>NGSand Perl scripts https://code.google.com/hosting/search?q=NGS+perl&amp;projectsearch=Search+projects</p>
<p>NGS and Python scripts https://code.google.com/hosting/search?q=NGS+Python&amp;projectsearch=Search+projects</p><p>Address of the bookmark: <a href="https://code.google.com/hosting/search?q=bioinformatics&amp;sa=Search" rel="nofollow">https://code.google.com/hosting/search?q=bioinformatics&amp;sa=Search</a></p>]]></description>
	<dc:creator>Rahul Nayak</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/pages/view/37590/parallel-processing-with-perl</guid>
	<pubDate>Sat, 25 Aug 2018 11:32:40 -0500</pubDate>
	<link>https://bioinformaticsonline.com/pages/view/37590/parallel-processing-with-perl</link>
	<title><![CDATA[Parallel Processing with Perl !]]></title>
	<description><![CDATA[<p>Here is a small tutorial on how to make best use of multiple processors for bioinformatics analysis. One best way is using perl threads and forks. Knowing how these threads and forks work is very important before implementing them. Getting to know how these work would be really useful before reading this tutorial.</p><p>Many times in bioinformatics we need to deal with huge datasets which&nbsp; are more than 100GB size. The traditional way to analysis a file is using the while loop</p><p>while (FILE){</p><p>Do something;</p><p>}</p><p>This is very slow(since we are using only one processor) and if we have 500 million lines in the dataset it takes more than a day to iterate through the whole dataset. So how do we make best use of all our processors and get the work done quickly?</p><p>Here is a very simple and efficient technique with perl which i have been using. I am&nbsp; more inclined towards using perl fork than perl threads.</p><p>One of the oldest way to fork is</p><blockquote><p>my $fork = fork();<br />if($fork){&nbsp;&nbsp;&nbsp;<br />push (@childs,$fork);&nbsp;<br />}<br />elseif($fork==0){<br /><strong>your code here;</strong><br />exit(0);<br />}<br />else{die &ldquo;Couldnt fork : $!&rdquo;;}</p><p>## wait for the child process to finish<br />foreach(@childs){<br />my $tmp=waitid($_,0);<br />}</p></blockquote><p>what a fork does is it creates a child process and takes the variables and code with it to analyze it separately (detached from the parent process) and thus a separate process is created( which usually runs on a separate processor). Thats it!! One big disadvantage of forking is its very difficult to share variables among the different processes. I will show you how to do it easily but still it has its own drawbacks.</p><blockquote><p>Okie, now if you really do not want to use fork in your code, that&rsquo;s okie too..There are many useful modules which do it for you very efficiently. One really useful module is Parallel::ForkManager. You can use Parallel::ForkManager to manage the number of forks you want to generate (number of processors you want to use).</p><p><strong>Simple usage:</strong><br />use Parallel::ForkManager;<br />my $max_processors=8;<br />my $fork= new Parallel::ForkManager($max_processors);<br />foreach (@dna) {<br />$fork-&gt;start and next; # do the fork<br /><strong>you code here;</strong><br />$fork-&gt;finish; # do the exit in the child process<br />}<br />$pm-&gt;wait_all_children;</p></blockquote><p>so you will be generating 8 forks which do the same thing for your each element of array. when one child finishes, Parallel::ForkManager generates a new one and thus you will be using all your processors to analyze the data. Now, if you have generated 8 child processes and want to write the data to one file. You need to lock the file to do this, because you will have problems with the buffering. You can lock the file using flock command.</p><blockquote><p>open (my $QUAL, &ldquo;myfile.txt&rdquo;);<br />flock $QUAL, LOCK_EX or die &ldquo;cant lock file $!&rdquo;;<br />print $QUAL &ldquo;$output&rdquo;;<br />flock $QUAL, LOCK_UN or die &ldquo;$!&rdquo;;<br />close $QUAL;</p></blockquote><p>I would not suggest using flock when dealing with multiple processes because it will decrease the processing efficiency( each child process must wait for the lock to be released by the other child process). Instead, I would suggest each fork writing to a separate file and after the processing just concatenating them.</p><p><strong>Putting it all together, If you have 100GB data you can do this</strong></p><blockquote><p><strong>step 1</strong>&nbsp;: split the dataset equally according to number of processors you have. this may take a few hours(about 2-3 hrs for 100GB file)<br />You can use unix &ldquo;split&rdquo; command for this<br />for example:<br />my $number_split=int($number_of_entries_in_your_dataset/$max_processors);<br />my $split_Files=`split -l $number_split &ldquo;your_file.fasta&rdquo; &ldquo;file_name&rdquo;`;</p><p><strong>step2</strong>: open you directory comtaining you split files and start Parallel::ForkManager.<br /><strong>For example:</strong><br />opendir(DIRECTORY, $split_files_directory) or die $!; ### open the directory<br />my $fork= new Parallel::ForkManager($max_processors);<br />while (my $file = readdir(DIRECTORY)) { ### read the directory<br />if($file=~/^\./){next;}<br />print $file,&rdquo;\n&rdquo;;<br />########## Start fork ##########<br />my $pid= $super_fork-&gt;start and next;<br /><strong>Whatever you want to do with the split file ;</strong><br /><strong>analyze my piece of $file;</strong><br />######### end fork ###############<br />$super_fork-&gt;finish;<br />}<br />$super_fork-&gt;wait_all_children;</p></blockquote><p>So basically each processor will be active with its piece of data (split file) and thus you have created 8 processes at one time which run without interfering with the other process. I again will not suggest writing output from each child process to one file(for reasons above). Write output from each fork to a separate file and finally concatenate them. Thats it, you have just increased your program speed by 8 times!! Isnt it easy?</p><p><strong>Note:</strong><br />You may worry about concatenation of the output each child generates, since it does take some time(remember 100GB). I think now you can use a mysql database LOAD DATA LOCAL INFILE command to load all the files into a single table(Should take about 3hrs for 100Gb dataset) and then export the whole table into one file. This should be faster than just concatenating them using &ldquo;cat&rdquo; command.(correct me if I am wrong)</p><p>Or much simpler way is to use pipes</p><p>cat output_dir/* | my_pipe or my_pipe &lt;(file1) final_file;</p><p>Thats it guys!! Enjoy programming and please do comment. I am not a computer scientist so forgive me for any mistakes and if any please report them. Thank you.</p>]]></description>
	<dc:creator>Rahul Nayak</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/3013/python-and-biopython-tutorial</guid>
	<pubDate>Fri, 23 Aug 2013 06:47:40 -0500</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/3013/python-and-biopython-tutorial</link>
	<title><![CDATA[Python and BioPython Tutorial]]></title>
	<description><![CDATA[<p>A quickstart tutorial that allows to become familiar with the Python language. The exercises expect knowledge of basic concepts of programming. A group of 2nd year computer science students with no previous Python knowledge required 60'-90' to complete the exercises. With about 3 hours time, the exercise is suitable for non-programmers as well.</p><p>Address of the bookmark: <a href="http://www.biotnet.org/training-materials/python-programmers" rel="nofollow">http://www.biotnet.org/training-materials/python-programmers</a></p>]]></description>
	<dc:creator>Manshi Raghubanshi</dc:creator>
</item>

</channel>
</rss>