<?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/26559?offset=240</link>
	<atom:link href="https://bioinformaticsonline.com/related/26559?offset=240" rel="self" type="application/rss+xml" />
	<description><![CDATA[]]></description>
	
	<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/news/view/1737/perl-in-a-day</guid>
	<pubDate>Sat, 10 Aug 2013 21:14:03 -0500</pubDate>
	<link>https://bioinformaticsonline.com/news/view/1737/perl-in-a-day</link>
	<title><![CDATA[Perl in a day !!]]></title>
	<description><![CDATA[<p>This pdf based tutorial in good resource to understand the basic of Perl in a day</p><p><a href="http://ritg.med.harvard.edu/training/perl/RC_Perl_Intro.pdf">http://ritg.med.harvard.edu/training/perl/RC_Perl_Intro.pdf</a></p>]]></description>
	<dc:creator>Jitendra Narayan</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/videolist/watch/11311/stephen-friend-the-hunt-for-unexpected-genetic-heroes</guid>
	<pubDate>Sat, 31 May 2014 14:31:47 -0500</pubDate>
	<link>https://bioinformaticsonline.com/videolist/watch/11311/stephen-friend-the-hunt-for-unexpected-genetic-heroes</link>
	<title><![CDATA[Stephen Friend: The hunt for "unexpected genetic heroes"]]></title>
	<description><![CDATA[<iframe width="" height="" src="https://www.youtube-nocookie.com/embed/Yagdvqn2YMU" frameborder="0" allowfullscreen></iframe>What can we learn from people with the genetics to get sick — who don't? With most inherited diseases, only some family members will develop the disease, while others who carry the same genetic risks dodge it. Stephen Friend suggests we start studying those family members who stay healthy. Hear about the Resilience Project, a massive effort to collect genetic materials that may help decode inherited disorders.

TEDTalks is a daily video podcast of the best talks and performances from the TED Conference, where the world's leading thinkers and doers give the talk of their lives in 18 minutes (or less). Look for talks on Technology, Entertainment and Design -- plus science, business, global issues, the arts and much more.
Find closed captions and translated subtitles in many languages at http://www.ted.com/translate

Follow TED news on Twitter: http://www.twitter.com/tednews
Like TED on Facebook: https://www.facebook.com/TED

Subscribe to our channel: http://www.youtube.com/user/TEDtalksDirector]]></description>
	
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/4037/perl-and-bioperl-tutorials</guid>
	<pubDate>Wed, 28 Aug 2013 05:51:38 -0500</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/4037/perl-and-bioperl-tutorials</link>
	<title><![CDATA[Perl and BioPerl Tutorials]]></title>
	<description><![CDATA[<p>This bookmark is created to store the useful Perl and BioPerl tutorial links at one place. Feel free to share and add more useful tutorial links here ....&nbsp;</p>
<p>&nbsp;</p><p>Address of the bookmark: <a href="http://cbb.sjtu.edu.cn/course/database/beginning.pdf" rel="nofollow">http://cbb.sjtu.edu.cn/course/database/beginning.pdf</a></p>]]></description>
	<dc:creator>Jitendra Narayan</dc:creator>
</item>

<item>
  <guid isPermaLink='true'>https://bioinformaticsonline.com/opportunity/view/12896/inspire-faculty-scheme-a-component-of-%E2%80%9Cassured-opportunity-for-research-career-aorc%E2%80%9D-under-inspire</guid>
  <pubDate>Sat, 19 Jul 2014 14:59:30 -0500</pubDate>
  <link></link>
  <title><![CDATA[INSPIRE Faculty Scheme: a component of “Assured Opportunity for Research Career (AORC)” under INSPIRE.]]></title>
  <description><![CDATA[
<p>Ministry of Science and Technology, Department of Science and Technology</p>

<p>7th ADVERTISEMENT – 2014 (2)</p>

<p>INSPIRE Faculty Scheme: a component of “Assured Opportunity for Research Career (AORC)” under INSPIRE.</p>

<p>The Department of Science and Technology, Government of India, has launched the “Innovation in Science Pursuit for Inspired Research (INSPIRE)” [http://www.inspire-dst.gov.in] program in 2008.</p>

<p>The program aims to attract talent for study of science and careers with research. INSPIRE includes many components. The importance of Assured Career Opportunity in R&amp;D sector has been recognized.</p>

<p>INSPIRE Faculty Scheme opens up an “Assured Opportunity for Research Career (AORC)” for young researchers in the age group of 27-32 years. It offers a contractual research awards to young achievers and opportunity for independent research in the near term and emerge as a future leader in the long term.</p>

<p>Eligibility</p>

<p>Essential Indian citizens and people of Indian origin including NRI/PIO status with PhD (in science, mathematics, engineering, pharmacy, medicine, and agriculture related subjects) from any recognized university in the world,</p>

<p>Those who have submitted their PhD Theses and are awaiting award of the degree are also<br />eligible. However, the award will be conveyed only after confirmation of the awarding the<br />PhD degree.</p>

<p>The upper age limit as on 1st July 2014 should be 32 years for considering support for a<br />period of 5 years. However, for SC and ST candidates, upper age limit will be 35 years.</p>

<p>Publication(s) in highly reputed Journals demonstrating research potential of the candidate.</p>

<p>Desirable</p>

<p>Candidates who are within top 1% at the School Leaving Examination, IIT-JEE rank, 1st Rank Holder either in graduation or post-graduation level university examination (which are used presently for identifying INSPIRE Scholars at under-graduate level and INSPIRE Fellows for doctoral degree)</p>

<p>More at http://www.inspire-dst.gov.in/faculty_scheme.html</p>
]]></description>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/blog/view/44865/snp-analysis-unlocking-the-secrets-in-our-dna</guid>
	<pubDate>Wed, 16 Jul 2025 01:31:45 -0500</pubDate>
	<link>https://bioinformaticsonline.com/blog/view/44865/snp-analysis-unlocking-the-secrets-in-our-dna</link>
	<title><![CDATA[SNP Analysis: Unlocking the Secrets in Our DNA]]></title>
	<description><![CDATA[<p>Single Nucleotide Polymorphisms (SNPs) are the most common type of genetic variation in humans&mdash;and many other organisms. A single base change in the DNA sequence (for example, an A instead of a G) can influence everything from our eye color to our risk of developing diseases. Analyzing these tiny changes has become central to modern genetics, medicine, agriculture, and evolutionary biology.</p><p><strong>What are SNPs?</strong><br />SNPs (pronounced "snips") are positions in the genome where individuals differ by a single nucleotide. For example:</p><p>Reference: ...A T G C A T G A...<br />Variant:&nbsp; &nbsp; &nbsp;...A T G T A T G A...</p><p>Here, the C in the reference genome has been replaced by a T in the variant.</p><p>SNPs occur roughly every 300&ndash;1,000 bases in the human genome, meaning there are millions of them scattered throughout our DNA. Most SNPs have no effect on health, but some are linked to disease susceptibility, drug response, and other traits.</p><p><strong>Why Do We Analyze SNPs?</strong><br />1. Medical Genetics</p><p>Identify disease-associated variants (e.g., BRCA1/2 in breast cancer).</p><p>Predict drug response (pharmacogenomics).</p><p>Enable precision medicine by tailoring treatments.</p><p>2. Population Genetics &amp; Ancestry</p><p>Trace human migration and ancestry.</p><p>Study genetic diversity within and between populations.</p><p>3. Agriculture &amp; Animal Breeding</p><p>Select for desirable traits (drought resistance, yield, disease resistance).</p><p>Improve breeding efficiency in livestock.</p><p>4. Evolutionary Biology</p><p>Track natural selection.</p><p>Study adaptation in wild populations.</p><p><strong>How is SNP Analysis Performed?</strong><br />SNP analysis can be broadly divided into three steps:</p><p>SNP Detection<br />Genotyping arrays: Chips that test hundreds of thousands of known SNP positions simultaneously. Fast and affordable, widely used in consumer ancestry testing.</p><p>Whole-genome or whole-exome sequencing: Can detect known and novel SNPs across the genome.</p><p>Targeted sequencing or PCR: For focused analysis of specific regions.</p><p>Variant Calling<br />Sequencing data is aligned to a reference genome. Bioinformatics tools (e.g., GATK, bcftools) identify positions where the sequenced sample differs from the reference.</p><p>Annotation and Interpretation<br />Tools (e.g., SnpEff, VEP) predict the functional impact of SNPs.</p><p>Are the SNPs in coding regions? Do they cause amino acid changes? Are they known to be pathogenic?</p><p>Databases like dbSNP, ClinVar, and GWAS Catalog provide information on known associations.</p><p>Common Tools for SNP Analysis<br />Alignment: BWA, Bowtie2</p><p>Variant Calling: GATK, FreeBayes</p><p>Visualization: IGV, UCSC Genome Browser</p><p>Annotation: SnpEff, VEP</p><p>Statistical Analysis: PLINK, SNPTEST</p><p><strong>Challenges in SNP Analysis</strong><br />False positives/negatives: Sequencing errors, alignment issues.</p><p>Population stratification: Confounding in association studies.</p><p>Interpretation: Many SNPs have unknown or complex effects.</p><p>Researchers address these with rigorous quality control, large datasets, and increasingly sophisticated statistical models.</p><p><strong>The Future of SNP Analysis</strong><br />With advances in sequencing technology and AI-driven analysis, SNP studies are expanding:</p><p>Polygenic risk scores predict disease risk based on thousands of SNPs.</p><p>Large-scale biobanks (e.g., UK Biobank, All of Us) enable powerful genome-wide association studies (GWAS).</p><p>CRISPR and functional assays help validate SNP effects in the lab.</p><p>SNP analysis is at the heart of the genomic revolution, promising insights into biology, health, and evolution at unprecedented scale.</p><p><strong>Conclusion</strong><br />From diagnosing rare diseases to designing better crops, SNP analysis is a foundational tool in modern science. As our ability to sequence and interpret genomes improves, so will our understanding of these tiny&mdash;but mighty&mdash;variations in DNA.</p><p>&nbsp;</p>]]></description>
	<dc:creator>Abhi</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/pages/view/11457/commercial-and-public-next-gen-seq-ngs-software</guid>
	<pubDate>Tue, 03 Jun 2014 20:45:11 -0500</pubDate>
	<link>https://bioinformaticsonline.com/pages/view/11457/commercial-and-public-next-gen-seq-ngs-software</link>
	<title><![CDATA[Commercial and public next-gen-seq (NGS) software]]></title>
	<description><![CDATA[<p><strong>Integrated solutions</strong><br /> <a href="http://www.clcbio.com/index.php?id=1240" target="_blank">CLCbio Genomics Workbench</a> - <em>de novo</em> and reference assembly of Sanger, Roche FLX, Illumina, Helicos, and SOLiD data. Commercial next-gen-seq software that extends the CLCbio Main Workbench software. Includes SNP detection, CHiP-seq, browser and other features. Commercial. Windows, Mac OS X and Linux.<br /><a href="http://g2.trac.bx.psu.edu/" target="_blank">Galaxy</a> - Galaxy = interactive and reproducible genomics. A job webportal.<br /> <a href="http://www.genomatix.de/products/index.html" target="_blank">Genomatix</a> - Integrated Solutions for Next Generation Sequencing data analysis.<br /> <a href="http://www.jmp.com/software/genomics/" target="_blank">JMP Genomics</a> - Next gen visualization and statistics tool from SAS. They are <a href="http://www.marketwatch.com/news/story/JMPR-Genomics-NCGR-Partnership-Foster/story.aspx?guid=%7B7AC9DE36-B6AA-4EDE-9CD5-633B29FE6154%7D" target="_blank">working with NCGR</a> to refine this tool and produce others.<br /> <a href="http://softgenetics.com/NextGENe.html" target="_blank">NextGENe</a> - <em>de novo</em> and reference assembly of Illumina, SOLiD and Roche FLX data. Uses a novel Condensation Assembly Tool approach where reads are joined via "anchors" into mini-contigs before assembly. Includes SNP detection, CHiP-seq, browser and other features. Commercial. Win or MacOS.<br /><a href="http://www.partek.com" target="_blank" title="Partek Incorporated">Partek</a>&nbsp;<span>- Commercial software for NGS, microarray, and qPCR data analysis. Streamlined analysis workflows for: ChIP-Seq, RNA-Seq, DNA-Seq, DNA Methylation, Gene Expression, Exon, miRNA Expression, Copy Number, Allele-Specific Copy Number, LOH, Association, Trio Analysis, and Tiling. Supports all commercial sequencing and microarray technologies.&nbsp;</span><br /> <a href="http://www.dnastar.com/products/SMGA.php" target="_blank">SeqMan Genome Analyser</a> - Software for Next Generation sequence assembly of Illumina, Roche FLX and Sanger data integrating with Lasergene Sequence Analysis software for additional analysis and visualization capabilities. Can use a hybrid templated/de novo approach. Commercial. Win or Mac OS X.<br /><a href="http://1001genomes.org/downloads/shore.html" target="_blank">SHORE</a> - SHORE, for Short Read, is a mapping and analysis pipeline for short DNA sequences produced on a Illumina Genome Analyzer. A suite created by the 1001 Genomes project. Source for POSIX.<br /> <a href="http://www.realtimegenomics.com/" target="_blank">SlimSearch</a> - Fledgling commercial product.<br />Synamatix has SXOligoSearch (<a href="http://synasite.mgrc.com.my:8080/sxog/NewSXOligoSearch.php" target="_blank">http://synasite.mgrc.com.my:8080/sxo...ligoSearch.php</a>)<br />The SWIFT suit is a software collection for fast index-based sequence comparison. It contains the following programs: SWIFT &mdash; fast local alignment search, guaranteeing to find epsilon-matches between two sequences; SWIFT BALSAM &mdash; a very fast program to find semiglobal non-gapped alignments based on k-mer seeds. <a href="http://bibiserv.techfak.uni-bielefeld.de/swift/" target="_blank">http://bibiserv.techfak.uni-bielefeld.de/swift/</a><br /><a href="http://http//bioinf.comav.upv.es/svn/biolib/biolib/src/" target="_blank">biolib</a>.is library and a set of script targeted to NGS. There are modules to: clean sequences (sanger, 454, ilumina), parse caf, ace and bowtie map files, clean and filter contigs, look for snps and indels., filter snps, do statistics for: reads, contigs and snps.</p><p><br /> <strong>Align/Assemble to a reference</strong><br /> <a href="https://secure.genome.ucla.edu/index.php/BFAST" target="_blank">BFAST</a> - Blat-like Fast Accurate Search Tool. Written by Nils Homer, Stanley F. Nelson and Barry Merriman at UCLA.<br /><a href="http://bowtie-bio.sourceforge.net/" target="_blank">Bowtie</a> - Ultrafast, memory-efficient short read aligner. It aligns short DNA sequences (reads) to the human genome at a rate of 25 million reads per hour on a typical workstation with 2 gigabytes of memory. Uses a Burrows-Wheeler-Transformed (BWT) index. <a href="http://seqanswers.com/forums/showthread.php?t=706" target="_blank">Link to discussion thread here</a>. Written by Ben Langmead and Cole Trapnell. Linux, Windows, and Mac OS X.<br /> <a href="http://maq.sourceforge.net/" target="_blank">BWA</a> - Heng Lee's BWT Alignment program - a progression from Maq. BWA is a fast light-weighted tool that aligns short sequences to a sequence database, such as the human reference genome. By default, BWA finds an alignment within edit distance 2 to the query sequence. C++ source.<br /> <a href="http://bioinfo.cgrb.oregonstate.edu/docs/solexa/" target="_blank">ELAND</a> - Efficient Large-Scale Alignment of Nucleotide Databases. Whole genome alignments to a reference genome. Written by Illumina author Anthony J. Cox for the Solexa 1G machine.<br /> <a href="http://www.ebi.ac.uk/%7Eguy/exonerate/" target="_blank">Exonerate</a> - Various forms of pairwise alignment (including Smith-Waterman-Gotoh) of DNA/protein against a reference. Authors are Guy St C Slater and Ewan Birney from EMBL. C for POSIX.<br /> <a href="http://1001genomes.org/downloads/genomemapper.html" target="_blank">GenomeMapper</a> - GenomeMapper is a short read mapping tool designed for accurate read alignments. It quickly aligns millions of reads either with ungapped or gapped alignments. A tool created by the 1001 Genomes project. Source for POSIX.<br /> <a href="http://www.gene.com/share/gmap/" target="_blank">GMAP</a> - GMAP (Genomic Mapping and Alignment Program) for mRNA and EST Sequences. Developed by Thomas Wu and Colin Watanabe at Genentec. C/Perl for Unix.<br /> <a href="http://dna.cs.byu.edu/gnumap/" target="_blank">gnumap</a> - The Genomic Next-generation Universal MAPper (gnumap) is a program designed to accurately map sequence data obtained from next-generation sequencing machines (specifically that of Solexa/Illumina) back to a genome of any size. It seeks to align reads from nonunique repeats using statistics. From authors at Brigham Young University. C source/Unix.<br /> <a href="http://sourceforge.net/projects/maq/" target="_blank">MAQ</a> - Mapping and Assembly with Qualities (renamed from MAPASS2). Particularly designed for Illumina with preliminary functions to handle ABI SOLiD data. Written by Heng Li from the Sanger Centre. Features extensive supporting tools for DIP/SNP detection, etc. C++ source<br /> <a href="http://bioinformatics.bc.edu/marthlab/Mosaik" target="_blank">MOSAIK</a> - MOSAIK produces gapped alignments using the Smith-Waterman algorithm. Features a number of support tools. Support for Roche FLX, Illumina, SOLiD, and Helicos. Written by Michael Str&ouml;mberg at Boston College. Win/Linux/MacOSX<br /> <a href="http://mrfast.sourceforge.net/" target="_blank">MrFAST and MrsFAST</a> - mrFAST &amp; mrsFAST are designed to map short reads generated with the Illumina platform to reference genome assemblies; in a fast and memory-efficient manner. Robust to INDELs and MrsFAST has a bisulphite mode. Authors are from the University of Washington. C as source.<br /> <a href="http://mummer.sourceforge.net/" target="_blank">MUMmer</a> - MUMmer is a modular system for the rapid whole genome alignment of finished or draft sequence. Released as a package providing an efficient suffix tree library, seed-and-extend alignment, SNP detection, repeat detection, and visualization tools. Version 3.0 was developed by Stefan Kurtz, Adam Phillippy, Arthur L Delcher, Michael Smoot, Martin Shumway, Corina Antonescu and Steven L Salzberg - most of whom are at The Institute for Genomic Research in Maryland, USA. POSIX OS required.<br /> <a href="http://www.novocraft.com/index.html" target="_blank">Novocraft</a> - Tools for reference alignment of paired-end and single-end Illumina reads. Uses a Needleman-Wunsch algorithm. Can support Bis-Seq. Commercial. Available free for evaluation, educational use and for use on open not-for-profit projects. Requires Linux or Mac OS X.<br /> <a href="http://pass.cribi.unipd.it/cgi-bin/pass.pl" target="_blank">PASS</a> - It supports Illumina, SOLiD and Roche-FLX data formats and allows the user to modulate very finely the sensitivity of the alignments. Spaced seed intial filter, then NW dynamic algorithm to a SW(like) local alignment. Authors are from CRIBI in Italy. Win/Linux.<br /> <a href="http://rulai.cshl.edu/rmap/" target="_blank">RMAP</a> - Assembles 20 - 64 bp Illumina reads to a FASTA reference genome. By Andrew D. Smith and Zhenyu Xuan at CSHL. (published in BMC Bioinformatics). POSIX OS required.<br /> <a href="http://biogibbs.stanford.edu/%7Ejiangh/SeqMap/" target="_blank">SeqMap</a> - Supports up to 5 or more bp mismatches/INDELs. Highly tunable. Written by Hui Jiang from the Wong lab at Stanford. Builds available for most OS's.<br /> <a href="http://compbio.cs.toronto.edu/shrimp/" target="_blank">SHRiMP</a> - Assembles to a reference sequence. Developed with Applied Biosystem's colourspace genomic representation in mind. Authors are Michael Brudno and Stephen Rumble at the University of Toronto. POSIX.<br /> <a href="http://www.bcgsc.ca/platform/bioinfo/software/slider" target="_blank"><span style="text-decoration: underline;">Slider</span></a>- An application for the Illumina Sequence Analyzer output that uses the probability files instead of the sequence files as an input for alignment to a reference sequence or a set of reference sequences. Authors are from BCGSC. Paper is <a href="http://seqanswers.com/forums/showthread.php?t=740" target="_blank">here</a>.<br /> <a href="http://soap.genomics.org.cn/" target="_blank">SOAP</a> - SOAP (Short Oligonucleotide Alignment Program). A program for efficient gapped and ungapped alignment of short oligonucleotides onto reference sequences. The updated version uses a BWT. Can call SNPs and INDELs. Author is Ruiqiang Li at the Beijing Genomics Institute. C++, POSIX.<br /> <a href="http://www.sanger.ac.uk/Software/analysis/SSAHA/" target="_blank">SSAHA</a> - SSAHA (Sequence Search and Alignment by Hashing Algorithm) is a tool for rapidly finding near exact matches in DNA or protein databases using a hash table. Developed at the Sanger Centre by Zemin Ning, Anthony Cox and James Mullikin. C++ for Linux/Alpha.<br /> <a href="http://socs.biology.gatech.edu/" target="_blank">SOCS</a> - Aligns SOLiD data. SOCS is built on an iterative variation of the Rabin-Karp string search algorithm, which uses hashing to reduce the set of possible matches, drastically increasing search speed. Authors are Ondov B, Varadarajan A, Passalacqua KD and Bergman NH.<br /> <a href="http://bibiserv.techfak.uni-bielefeld.de/swift/welcome.html" target="_blank">SWIFT</a> - The SWIFT suit is a software collection for fast index-based sequence comparison. It contains: SWIFT &mdash; fast local alignment search, guaranteeing to find epsilon-matches between two sequences. SWIFT BALSAM &mdash; a very fast program to find semiglobal non-gapped alignments based on k-mer seeds. Authors are Kim Rasmussen (SWIFT) and Wolfgang Gerlach (SWIFT BALSAM)<br /> <a href="http://synasite.mgrc.com.my:8080/sxog/NewSXOligoSearch.php" target="_blank">SXOligoSearch</a> - SXOligoSearch is a commercial platform offered by the Malaysian based <a href="http://www.synamatix.com/" target="_blank">Synamatix</a>. Will align Illumina reads against a range of Refseq RNA or NCBI genome builds for a number of organisms. Web Portal. OS independent.<br /> <a href="http://www.vmatch.de/" target="_blank">Vmatch</a> - A versatile software tool for efficiently solving large scale sequence matching tasks. Vmatch subsumes the software tool REPuter, but is much more general, with a very flexible user interface, and improved space and time requirements. Essentially a large string matching toolbox. POSIX.<br /> <a href="http://www.bioinformaticssolutions.com/products/zoom/index.php" target="_blank">Zoom</a> - ZOOM (Zillions Of Oligos Mapped) is designed to map millions of short reads, emerged by next-generation sequencing technology, back to the reference genomes, and carry out post-analysis. ZOOM is developed to be highly accurate, flexible, and user-friendly with speed being a critical priority. Commercial. Supports Illumina and SOLiD data.<br />NCGR uses GMAP (<a href="http://www.gene.com/share/gmap/" target="_blank">http://www.gene.com/share/gmap/</a>) to alignment Solexa reads. GMAP is free, though.<br />Exonerate (<a href="http://www.ebi.ac.uk/%7Eguy/exonerate/" target="_blank">http://www.ebi.ac.uk/~guy/exonerate/</a>)<br /> MUMmer (<a href="http://mummer.sourceforge.net/" target="_blank">http://mummer.sourceforge.net/</a>)<br /> The mapping short reads called gnumap (<a href="http://dna.cs.byu.edu/gnumap/" target="_blank">http://dna.cs.byu.edu/gnumap/</a>) made to increase the accuracy with duplicate matches. Open source, creates viewable output (with Affy's Integrated Genome Browser), and produces results very similar to novocraft's.<br /><a href="http://socs.biology.gatech.edu/" target="_blank">SOCS</a> (short oligonucleotides in color space)<br />BFAST <a href="https://secure.genome.ucla.edu/index.php/BFAST" target="_blank">https://secure.genome.ucla.edu/index.php/BFAST</a></p><p><br /> <strong><em>De novo</em> Align/Assemble</strong><br /> <a href="http://www.bcgsc.ca/platform/bioinfo/software/abyss" target="_blank">ABySS</a> - Assembly By Short Sequences. ABySS is a de novo sequence assembler that is designed for very short reads. The single-processor version is useful for assembling genomes up to 40-50 Mbases in size. The parallel version is implemented using MPI and is capable of assembling larger genomes. By Simpson JT and others at the Canada's Michael Smith Genome Sciences Centre. C++ as source. <br /> <a href="http://www.broad.mit.edu/science/programs/genome-biology/computational-rd/computational-research-and-development" target="_blank">ALLPATHS</a> - ALLPATHS: De novo assembly of whole-genome shotgun microreads. ALLPATHS is a whole genome shotgun assembler that can generate high quality assemblies from short reads. Assemblies are presented in a graph form that retains ambiguities, such as those arising from polymorphism, thereby providing information that has been absent from previous genome assemblies. Broad Institute.<br /> <a href="http://www.genomic.ch/edena.php" target="_blank">Edena</a> - Edena (Exact DE Novo Assembler) is an assembler dedicated to process the millions of very short reads produced by the Illumina Genome Analyzer. Edena is based on the traditional overlap layout paradigm. By D. Hernandez, P. Fran&ccedil;ois, L. Farinelli, M. Osteras, and J. Schrenzel. Linux/Win.<br /> <a href="http://euler-assembler.ucsd.edu/portal/" target="_blank">EULER-SR</a> - Short read <em>de novo</em> assembly. By Mark J. Chaisson and Pavel A. Pevzner from UCSD (published in Genome Research). Uses a de Bruijn graph approach.<br /> <a href="http://chevreux.org/projects_mira.html" target="_blank">MIRA2</a> - MIRA (Mimicking Intelligent Read Assembly) is able to perform true hybrid de-novo assemblies using reads gathered through 454 sequencing technology (GS20 or GS FLX). Compatible with 454, Solexa and Sanger data. Linux OS required.<br /> <a href="http://www.seqan.de/projects/consensus.html" target="_blank">SEQAN</a> - A Consistency-based Consensus Algorithm for De Novo and Reference-guided Sequence Assembly of Short Reads. By Tobias Rausch and others. C++, Linux/Win.<br /> <a href="http://sharcgs.molgen.mpg.de/" target="_blank">SHARCGS</a> - De novo assembly of short reads. Authors are Dohm JC, Lottaz C, Borodina T and Himmelbauer H. from the Max-Planck-Institute for Molecular Genetics.<br /> <a href="http://www.bcgsc.ca/platform/bioinfo/software/ssake" target="_blank">SSAKE</a> - The Short Sequence Assembly by K-mer search and 3' read Extension (SSAKE) is a genomics application for aggressively assembling millions of short nucleotide sequences by progressively searching for perfect 3'-most k-mers using a DNA prefix tree. Authors are Ren&eacute; Warren, Granger Sutton, Steven Jones and Robert Holt from the Canada's Michael Smith Genome Sciences Centre. Perl/Linux.<br /> <a href="http://soap.genomics.org.cn/" target="_blank">SOAPdenovo</a> - Part of the SOAP suite. See above. <br /> <a href="https://sourceforge.net/projects/vcake" target="_blank">VCAKE</a> - De novo assembly of short reads with robust error correction. An improvement on early versions of SSAKE.<br /> <a href="http://www.ebi.ac.uk/%7Ezerbino/velvet/" target="_blank">Velvet</a> - Velvet is a de novo genomic assembler specially designed for short read sequencing technologies, such as Solexa or 454. Need about 20-25X coverage and paired reads. Developed by Daniel Zerbino and Ewan Birney at the European Bioinformatics Institute (EMBL-EBI).<br />SOAP (<a href="http://soap.genomics.org.cn" target="_blank">http://soap.genomics.org.cn</a>) by Ruiqiang Li, as has been pointed by ECO.<br />Euler-SR (Euler-Short Reads Assembly, <a href="http://euler-assembler.ucsd.edu/portal/" target="_blank">http://euler-assembler.ucsd.edu/portal/</a>) by Mark J. Chaisson and Pavel A. Pevzner from UCSD. (published in Genome Research)<br />RMAP (A program for mapping Solexa reads, <a href="http://rulai.cshl.edu/rmap/" target="_blank">http://rulai.cshl.edu/rmap/</a>) by Andrew D. Smith and Zhenyu Xuan at CSHL. (published in BMC Bioinformatics)<br />Short read aligner called Bowtie (<a href="http://bowtie-bio.sourceforge.net/" target="_blank">http://bowtie-bio.sourceforge.net/</a>) designed for fast mapping of Illumina reads<br /> <br /> <strong>SNP/Indel Discovery</strong><br /> <a href="http://www.sanger.ac.uk/Software/analysis/ssahaSNP/" target="_blank">ssahaSNP</a> - ssahaSNP is a polymorphism detection tool. It detects homozygous SNPs and indels by aligning shotgun reads to the finished genome sequence. Highly repetitive elements are filtered out by ignoring those kmer words with high occurrence numbers. More tuned for ABI Sanger reads. Developers are Adam Spargo and Zemin Ning from the Sanger Centre. Compaq Alpha, Linux-64, Linux-32, Solaris and Mac<br /> <a href="http://bioinformatics.bc.edu/marthlab/PbShort" target="_blank">PolyBayesShort</a> - A re-incarnation of the PolyBayes SNP discovery tool developed by Gabor Marth at Washington University. This version is specifically optimized for the analysis of large numbers (millions) of high-throughput next-generation sequencer reads, aligned to whole chromosomes of model organism or mammalian genomes. Developers at Boston College. Linux-64 and Linux-32.<br /> <a href="http://bioinformatics.bc.edu/marthlab/PyroBayes" target="_blank">PyroBayes</a> - PyroBayes is a novel base caller for pyrosequences from the 454 Life Sciences sequencing machines. It was designed to assign more accurate base quality estimates to the 454 pyrosequences. Developers at Boston College.<br />Maq is also able to find SNPs with its own alignment. It has a graphical viewer, but again for its own alignment format.<br />SSAHA has been optimized for short-reads, too. But yes, SSAHASNP appears in your "SNP/INDEL discovery" category.<br /> <br /> <strong>Genome Annotation/Genome Browser/Alignment Viewer/Assembly Database</strong><br /> <a href="http://bioinformatics.bc.edu/marthlab/EagleView" target="_blank">EagleView</a> - An information-rich genome assembler viewer. EagleView can display a dozen different types of information including base quality and flowgram signal. Developers at Boston College.<br /> <a href="http://www.sanger.ac.uk/Software/analysis/lookseq/" target="_blank">LookSeq</a> - LookSeq is a web-based application for alignment visualization, browsing and analysis of genome sequence data. LookSeq supports multiple sequencing technologies, alignment sources, and viewing modes; low or high-depth read pileups; and easy visualization of putative single nucleotide and structural variation. From the Sanger Centre.<br /> <a href="http://evolution.sysu.edu.cn/mapview/" target="_blank">MapView</a> - MapView: visualization of short reads alignment on desktop computer. From the Evolutionary Genomics Lab at Sun-Yat Sen University, China. Linux.<br /> <a href="http://www.bcgsc.ca/platform/bioinfo/software/sam" target="_blank">SAM</a> - Sequence Assembly Manager. Whole Genome Assembly (WGA) Management and Visualization Tool. It provides a generic platform for manipulating, analyzing and viewing WGA data, regardless of input type. Developers are Rene Warren, Yaron Butterfield, Asim Siddiqui and Steven Jones at Canada's Michael Smith Genome Sciences Centre. MySQL backend and Perl-CGI web-based frontend/Linux. <br /> <a href="http://staden.sourceforge.net/" target="_blank">STADEN</a> - Includes GAP4. GAP5 once completed will handle next-gen sequencing data. A partially implemented test version is available <a href="https://sourceforge.net/project/show...kage_id=256957" target="_blank">here</a><br /> <a href="http://www.bcgsc.ca/platform/bioinfo/software/xmatchview" target="_blank">XMatchView</a> - A visual tool for analyzing cross_match alignments. Developed by Rene Warren and Steven Jones at Canada's Michael Smith Genome Sciences Centre. Python/Win or Linux.<br /> <br /> <strong>Counting e.g. CHiP-Seq, Bis-Seq, CNV-Seq</strong><br /> <a href="http://epigenomics.mcdb.ucla.edu/BS-Seq/download.html" target="_blank">BS-Seq</a> - The source code and data for the "Shotgun Bisulphite Sequencing of the Arabidopsis Genome Reveals DNA Methylation Patterning" Nature paper by <a href="http://www.ncbi.nlm.nih.gov/sites/entrez?holding=&amp;db=pubmed&amp;cmd=search&amp;term=Shotgun%20Bisulphite%20Sequencing" target="_blank">Cokus et al.</a> (Steve Jacobsen's lab at UCLA). POSIX.<br /> <a href="http://woldlab.caltech.edu/chipseq/" target="_blank">CHiPSeq</a> - Program used by Johnson et al. (2007) in their Science publication<br /> <a href="http://tiger.dbs.nus.edu.sg/cnv-seq/" target="_blank">CNV-Seq</a> - CNV-seq, a new method to detect copy number variation using high-throughput sequencing. Chao Xie and Martti T Tammi at the National University of Singapore. Perl/R.<br /> <a href="http://www.bcgsc.ca/platform/bioinfo/software/findpeaks" target="_blank">FindPeaks</a> - perform analysis of ChIP-Seq experiments. It uses a naive algorithm for identifying regions of high coverage, which represent Chromatin Immunoprecipitation enrichment of sequence fragments, indicating the location of a bound protein of interest. Original algorithm by Matthew Bainbridge, in collaboration with Gordon Robertson. Current code and implementation by Anthony Fejes. Authors are from the Canada's Michael Smith Genome Sciences Centre. JAVA/OS independent. Latest versions available as part of the <a href="http://vancouvershortr.sourceforge.net/" target="_blank">Vancouver Short Read Analysis Package</a><br /> <a href="http://liulab.dfci.harvard.edu/MACS/" target="_blank">MACS</a> - Model-based Analysis for ChIP-Seq. MACS empirically models the length of the sequenced ChIP fragments, which tends to be shorter than sonication or library construction size estimates, and uses it to improve the spatial resolution of predicted binding sites. MACS also uses a dynamic Poisson distribution to effectively capture local biases in the genome sequence, allowing for more sensitive and robust prediction. Written by Yong Zhang and Tao Liu from Xiaole Shirley Liu's Lab. <br /> <a href="http://www.gersteinlab.org/proj/PeakSeq/" target="_blank">PeakSeq</a> - PeakSeq: Systematic Scoring of ChIP-Seq Experiments Relative to Controls. a two-pass approach for scoring ChIP-Seq data relative to controls. The first pass identifies putative binding sites and compensates for variation in the mappability of sequences across the genome. The second pass filters out sites that are not significantly enriched compared to the normalized input DNA and computes a precise enrichment and significance. By Rozowsky J et al. C/Perl.<br /> <a href="http://mendel.stanford.edu/sidowlab/downloads/quest/" target="_blank">QuEST</a> - Quantitative Enrichment of Sequence Tags. Sidow and Myers Labs at Stanford. From the 2008 publication <a href="http://www.ncbi.nlm.nih.gov/pubmed/18711362" target="_blank">Genome-wide analysis of transcription factor binding sites based on ChIP-Seq data</a>. (C++)<br /> <a href="http://dir.nhlbi.nih.gov/papers/lmi/epigenomes/sissrs/" target="_blank">SISSRs</a> - Site Identification from Short Sequence Reads. BED file input. Raja Jothi @ NIH. Perl.<br />SeqMap (<a href="http://biogibbs.stanford.edu/%7Ejiangh/SeqMap/" target="_blank">http://biogibbs.stanford.edu/~jiangh/SeqMap/</a>) - work like ELand, can do 3 or more bp mismatches and also insdel<br />ChIPSeq analysis is:&nbsp; <a href="http://dir.nhlbi.nih.gov/papers/lmi/epigenomes/sissrs/" target="_blank">http://dir.nhlbi.nih.gov/papers/lmi/epigenomes/sissrs/</a></p><p>See also <a href="http://seqanswers.com/forums/showthread.php?t=742" target="_blank">this thread</a> for ChIP-Seq, until I get time to update this list.<br /> <br /> <strong>Alternate Base Calling</strong><br /> <a href="http://svitsrv25.epfl.ch/R-doc/library/Rolexa/html/00Index.html" target="_blank">Rolexa</a> - R-based framework for base calling of Solexa data. Project <a href="http://www.biomedcentral.com/1471-2105/9/431" target="_blank">publication</a><br /> <a href="http://hannonlab.cshl.edu/Alta-Cyclic/main.html" target="_blank">Alta-cyclic</a> - "a novel Illumina Genome-Analyzer (Solexa) base caller"<br /> <br /> <strong>Transcriptomics</strong><br /> <a href="http://woldlab.caltech.edu/rnaseq/" target="_blank">ERANGE</a> - Mapping and Quantifying Mammalian Transcriptomes by RNA-Seq. Supports Bowtie, BLAT and ELAND. From the Wold lab.<br /> <a href="http://www.genoscope.cns.fr/externe/gmorse/" target="_blank">G-Mo.R-Se</a> - G-Mo.R-Se is a method aimed at using RNA-Seq short reads to build de novo gene models. First, candidate exons are built directly from the positions of the reads mapped on the genome (without any ab initio assembly of the reads), and all the possible splice junctions between those exons are tested against unmapped reads. From CNS in France.<br /> <a href="http://evolution.sysu.edu.cn/english/software/mapnext.htm" target="_blank">MapNext</a> - MapNext: A software tool for spliced and unspliced alignments and SNP detection of short sequence reads. From the Evolutionary Genomics Lab at Sun-Yat Sen University, China.<br /> <a href="http://www.fml.tuebingen.mpg.de/raetsch/suppl/qpalma" target="_blank">QPalma</a> - Optimal Spliced Alignments of Short Sequence Reads. Authors are Fabio De Bona, Stephan Ossowski, Korbinian Schneeberger, and Gunnar R&auml;tsch. A paper is <a href="http://www.fml.tuebingen.mpg.de/raetsch/suppl/qpalma/qpalma-final.pdf" target="_blank">available</a>.<br /> <a href="http://biogibbs.stanford.edu/%7Ejiangh/rsat/" target="_blank">RSAT</a> - RSAT: RNA-Seq Analysis Tools. RNASAT is developed and maintained by Hui Jiang at Stanford University.<br /> <a href="http://tophat.cbcb.umd.edu/" target="_blank">TopHat</a> - TopHat is a fast splice junction mapper for RNA-Seq reads. It aligns RNA-Seq reads to mammalian-sized genomes using the ultra high-throughput short read aligner Bowtie, and then analyzes the mapping results to identify splice junctions between exons. TopHat is a collaborative effort between the University of Maryland and the University of California, Berkeley<br />NGS-Trex: Next Generation Sequencing Transcriptome profile explorer http://www.biomedcentral.com/1471-2105/14/S7/S10</p><p>Reference</p><p>Illumina has a software list: <a href="http://www.illumina.com/pagesnrn.ilmn?ID=245" target="_blank">http://www.illumina.com/pagesnrn.ilmn?ID=245</a>.</p><p>Some softwares in his blog (<a href="http://www.fejes.ca/labels/DNA.html" target="_blank">http://www.fejes.ca/labels/DNA.html</a>)</p><p><a href="http://seqanswers.com/wiki/Software" target="_blank">http://seqanswers.com/wiki/Software</a></p>]]></description>
	<dc:creator>Surabhi Chaudhary</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/pages/view/34463/single-cell-rnaseq-data-analysis-tutorial</guid>
	<pubDate>Mon, 27 Nov 2017 16:24:29 -0600</pubDate>
	<link>https://bioinformaticsonline.com/pages/view/34463/single-cell-rnaseq-data-analysis-tutorial</link>
	<title><![CDATA[Single Cell RNAseq data analysis tutorial !!]]></title>
	<description><![CDATA[<ul>
<li>A major breakthrough (replaced microarrays) in the late 00&rsquo;s and has been widely used since</li>
<li>Measures the&nbsp;average expression level&nbsp;for each gene across a large population of input cells</li>
<li>Useful for comparative transcriptomics, e.g.&nbsp;samples of the same tissue from different species</li>
<li>Useful for quantifying expression signatures from ensembles, e.g.&nbsp;in disease studies</li>
<li>Insufficient&nbsp;for studying heterogeneous systems, e.g.&nbsp;early development studies, complex tissues (brain)</li>
<li>Does&nbsp;not&nbsp;provide insights into the stochastic nature of gene expression</li>
</ul><p>Following are the useful links:</p><p><a href="http://hemberg-lab.github.io/scRNA.seq.course/scRNA-seq-course.pdf" target="_blank">Single Cell RNAseq data analysis Tutorial</a></p><p><a href="https://f1000research.com/articles/5-2122/v2" target="_blank">A step-by-step workflow for low-level analysis of single-cell RNA-seq data</a></p><p><a href="https://www.bioconductor.org/help/workflows/simpleSingleCell/" target="_blank">A step-by-step workflow for low-level analysis of single-cell RNA-seq data with Bioconductor</a></p><p>SCell: single-cell RNA-seq analysis software</p><p><a href="https://github.com/diazlab/SCell">https://github.com/diazlab/SCell</a></p><p>Beta-Poisson model for single-cell RNA-seq data analyses</p><p><a href="https://github.com/nghiavtr/BPSC">https://github.com/nghiavtr/BPSC</a></p><p>Sincera: A Computational Pipeline for Single Cell RNA-Seq Profiling Analysis</p><p><a href="https://research.cchmc.org/pbge/sincera.html">https://research.cchmc.org/pbge/sincera.html</a></p><p>SC3 &ndash; consensus clustering of single-cell RNA-Seq data</p><p><a href="http://biorxiv.org/content/early/2016/09/02/036558">http://biorxiv.org/content/early/2016/09/02/036558</a></p><p>Citrus: A toolkit for single cell sequencing analysis</p><p><a href="http://biorxiv.org/content/early/2016/09/14/045070">http://biorxiv.org/content/early/2016/09/14/045070</a></p><p>Single-Cell Resolution of Temporal Gene Expression during Heart Development</p><p><a href="http://www.cell.com/developmental-cell/fulltext/S1534-5807%2816%2930682-7">http://www.cell.com/developmental-cell/fulltext/S1534-5807(16)30682-7</a></p><p>Scalable latent-factor models applied to single-cell RNA-seq data separate biological drivers from confounding effects</p><p><a href="http://biorxiv.org/content/early/2016/11/15/087775">http://biorxiv.org/content/early/2016/11/15/087775</a></p><p>Single cell transcriptomes identify human islet cell signatures and reveal cell-type-specific expression changes in type 2 diabetes</p><p><a href="http://genome.cshlp.org/content/early/2016/11/18/gr.212720.116.abstract">http://genome.cshlp.org/content/early/2016/11/18/gr.212720.116.abstract</a></p><p>SCODE: An efficient regulatory network inference algorithm from single-cell RNA-Seq during differentiation</p><p><a href="http://biorxiv.org/content/early/2016/11/21/088856">http://biorxiv.org/content/early/2016/11/21/088856</a></p><p>SCOUP is a probabilistic model to analyze single-cell expression data during differentiation</p><p><a href="https://github.com/hmatsu1226/SCOUP">https://github.com/hmatsu1226/SCOUP</a></p><p>scLVM is a modelling framework for single-cell RNA-seq data</p><p><a href="https://github.com/PMBio/scLVM">https://github.com/PMBio/scLVM</a></p><p>Selective Locally linear Inference of Cellular Expression Relationships (SLICER) algorithm for inferring cell trajectories</p><p><a href="https://github.com/jw156605/SLICER">https://github.com/jw156605/SLICER</a></p><p>SinQC: A Method and Tool to Control Single-cell RNA-seq Data Quality</p><p><a href="http://www.morgridge.net/SinQC.html">http://www.morgridge.net/SinQC.html</a></p><p>TSCAN: Pseudo-time reconstruction and evaluation in single-cell RNA-seq analysis</p><p><a href="https://github.com/zji90/TSCAN">https://github.com/zji90/TSCAN</a></p><p>Visualization and cellular hierarchy inference of single-cell data using SPADE</p><p><a href="http://www.nature.com/nprot/journal/v11/n7/full/nprot.2016.066.html">http://www.nature.com/nprot/journal/v11/n7/full/nprot.2016.066.html</a></p><p>OEFinder: Identify ordering effect genes in single cell RNA-seq data</p><p><a href="https://github.com/lengning/OEFinder">https://github.com/lengning/OEFinder</a></p>]]></description>
	<dc:creator>Robert M Willioms</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/news/view/11603/ncbi-webinar</guid>
	<pubDate>Sun, 08 Jun 2014 02:47:01 -0500</pubDate>
	<link>https://bioinformaticsonline.com/news/view/11603/ncbi-webinar</link>
	<title><![CDATA[NCBI Webinar]]></title>
	<description><![CDATA[<p>In less than two weeks, NCBI will offer a webinar entitled "Introducing 3 NCBI Resources to Navigate Testing for Disease Linked Variants: MedGen, GTR and ClinVar". This webinar will delve into the lifecycle of genetic testing and teach attendees how to navigate the NIH Genetic Testing Registry, ClinVar, and MedGen resources. These resources can be used to prepare for clinical cases, access detailed information about orderable genetic tests, interpret test results, and more.</p><p>More at https://attendee.gotowebinar.com/register/8452228815737989634</p>]]></description>
	<dc:creator>Jit</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/blog/view/39307/awk-for-beginners</guid>
	<pubDate>Fri, 26 Apr 2019 16:19:41 -0500</pubDate>
	<link>https://bioinformaticsonline.com/blog/view/39307/awk-for-beginners</link>
	<title><![CDATA[AWK for beginners !]]></title>
	<description><![CDATA[<p>AWK is a standard tool on every POSIX-compliant UNIX system. It&rsquo;s like flex/lex, from the command-line, perfect for text-processing tasks and other scripting needs. It has a C-like syntax, but without mandatory semicolons (although, you should use them anyway, because they are required when you&rsquo;re writing one-liners, something AWK excels at), manual memory management, or static typing. It excels at text processing. You can call to it from a shell script, or you can use it as a stand-alone scripting language.</p><p>Why use AWK instead of Perl? Readability. AWK is easier to read than Perl. For simple text-processing scripts, particularly ones that read files line by line and split on delimiters, AWK is probably the right tool for the job.</p><div><pre><span>#!/usr/bin/awk -f</span>

<span># Comments are like this</span>


<span># AWK programs consist of a collection of patterns and actions.</span>
<span>pattern1</span> <span>{</span> <span>action</span><span>;</span> <span>}</span> <span># just like lex</span>
<span>pattern2</span> <span>{</span> <span>action</span><span>;</span> <span>}</span>

<span># There is an implied loop and AWK automatically reads and parses each</span>
<span># record of each file supplied. Each record is split by the FS delimiter,</span>
<span># which defaults to white-space (multiple spaces,tabs count as one)</span>
<span># You can assign FS either on the command line (-F C) or in your BEGIN</span>
<span># pattern</span>

<span># One of the special patterns is BEGIN. The BEGIN pattern is true</span>
<span># BEFORE any of the files are read. The END pattern is true after</span>
<span># an End-of-file from the last file (or standard-in if no files specified)</span>
<span># There is also an output field separator (OFS) that you can assign, which</span>
<span># defaults to a single space</span>

<span>BEGIN</span> <span>{</span>

    <span># BEGIN will run at the beginning of the program. It's where you put all</span>
    <span># the preliminary set-up code, before you process any text files. If you</span>
    <span># have no text files, then think of BEGIN as the main entry point.</span>

    <span># Variables are global. Just set them or use them, no need to declare..</span>
    <span>count</span> <span>=</span> <span>0</span><span>;</span>

    <span># Operators just like in C and friends</span>
    <span>a</span> <span>=</span> <span>count</span> <span>+</span> <span>1</span><span>;</span>
    <span>b</span> <span>=</span> <span>count</span> <span>-</span> <span>1</span><span>;</span>
    <span>c</span> <span>=</span> <span>count</span> <span>*</span> <span>1</span><span>;</span>
    <span>d</span> <span>=</span> <span>count</span> <span>/</span> <span>1</span><span>;</span> <span># integer division</span>
    <span>e</span> <span>=</span> <span>count</span> <span>%</span> <span>1</span><span>;</span> <span># modulus</span>
    <span>f</span> <span>=</span> <span>count</span> <span>^</span> <span>1</span><span>;</span> <span># exponentiation</span>

    <span>a</span> <span>+=</span> <span>1</span><span>;</span>
    <span>b</span> <span>-=</span> <span>1</span><span>;</span>
    <span>c</span> <span>*=</span> <span>1</span><span>;</span>
    <span>d</span> <span>/=</span> <span>1</span><span>;</span>
    <span>e</span> <span>%=</span> <span>1</span><span>;</span>
    <span>f</span> <span>^=</span> <span>1</span><span>;</span>

    <span># Incrementing and decrementing by one</span>
    <span>a</span><span>++</span><span>;</span>
    <span>b</span><span>--</span><span>;</span>

    <span># As a prefix operator, it returns the incremented value</span>
    <span>++</span><span>a</span><span>;</span>
    <span>--</span><span>b</span><span>;</span>

    <span># Notice, also, no punctuation such as semicolons to terminate statements</span>

    <span># Control statements</span>
    <span>if</span> <span>(</span><span>count</span> <span>==</span> <span>0</span><span>)</span>
        <span>print</span> <span>"Starting with count of 0"</span><span>;</span>
    <span>else</span>
        <span>print</span> <span>"Huh?"</span><span>;</span>

    <span># Or you could use the ternary operator</span>
    <span>print</span> <span>(</span><span>count</span> <span>==</span> <span>0</span><span>)</span> <span>?</span> <span>"Starting with count of 0"</span> <span>:</span> <span>"Huh?"</span><span>;</span>

    <span># Blocks consisting of multiple lines use braces</span>
    <span>while</span> <span>(</span><span>a</span> <span>&lt;</span> <span>10</span><span>)</span> <span>{</span>
        <span>print</span> <span>"String concatenation is done"</span> <span>" with a series"</span> <span>" of"</span>
            <span>" space-separated strings"</span><span>;</span>
        <span>print</span> <span>a</span><span>;</span>

        <span>a</span><span>++</span><span>;</span>
    <span>}</span>

    <span>for</span> <span>(</span><span>i</span> <span>=</span> <span>0</span><span>;</span> <span>i</span> <span>&lt;</span> <span>10</span><span>;</span> <span>i</span><span>++</span><span>)</span>
        <span>print</span> <span>"Good ol' for loop"</span><span>;</span>

    <span># As for comparisons, they're the standards:</span>
    <span># a &lt; b   # Less than</span>
    <span># a &lt;= b  # Less than or equal</span>
    <span># a != b  # Not equal</span>
    <span># a == b  # Equal</span>
    <span># a &gt; b   # Greater than</span>
    <span># a &gt;= b  # Greater than or equal</span>

    <span># Logical operators as well</span>
    <span># a &amp;&amp; b  # AND</span>
    <span># a || b  # OR</span>

    <span># In addition, there's the super useful regular expression match</span>
    <span>if</span> <span>(</span><span>"foo"</span> <span>~</span> <span>"^fo+$"</span><span>)</span>
        <span>print</span> <span>"Fooey!"</span><span>;</span>
    <span>if</span> <span>(</span><span>"boo"</span> <span>!~</span> <span>"^fo+$"</span><span>)</span>
        <span>print</span> <span>"Boo!"</span><span>;</span>

    <span># Arrays</span>
    <span>arr</span><span>[</span><span>0</span><span>]</span> <span>=</span> <span>"foo"</span><span>;</span>
    <span>arr</span><span>[</span><span>1</span><span>]</span> <span>=</span> <span>"bar"</span><span>;</span>

    <span># You can also initialize an array with the built-in function split()</span>

    <span>n</span> <span>=</span> <span>split</span><span>(</span><span>"foo:bar:baz"</span><span>,</span> <span>arr</span><span>,</span> <span>":"</span><span>);</span>

    <span># You also have associative arrays (actually, they're all associative arrays)</span>
    <span>assoc</span><span>[</span><span>"foo"</span><span>]</span> <span>=</span> <span>"bar"</span><span>;</span>
    <span>assoc</span><span>[</span><span>"bar"</span><span>]</span> <span>=</span> <span>"baz"</span><span>;</span>

    <span># And multi-dimensional arrays, with some limitations I won't mention here</span>
    <span>multidim</span><span>[</span><span>0</span><span>,</span><span>0</span><span>]</span> <span>=</span> <span>"foo"</span><span>;</span>
    <span>multidim</span><span>[</span><span>0</span><span>,</span><span>1</span><span>]</span> <span>=</span> <span>"bar"</span><span>;</span>
    <span>multidim</span><span>[</span><span>1</span><span>,</span><span>0</span><span>]</span> <span>=</span> <span>"baz"</span><span>;</span>
    <span>multidim</span><span>[</span><span>1</span><span>,</span><span>1</span><span>]</span> <span>=</span> <span>"boo"</span><span>;</span>

    <span># You can test for array membership</span>
    <span>if</span> <span>(</span><span>"foo"</span> <span>in</span> <span>assoc</span><span>)</span>
        <span>print</span> <span>"Fooey!"</span><span>;</span>

    <span># You can also use the 'in' operator to traverse the keys of an array</span>
    <span>for</span> <span>(</span><span>key</span> <span>in</span> <span>assoc</span><span>)</span>
        <span>print</span> <span>assoc</span><span>[</span><span>key</span><span>];</span>

    <span># The command line is in a special array called ARGV</span>
    <span>for</span> <span>(</span><span>argnum</span> <span>in</span> <span>ARGV</span><span>)</span>
        <span>print</span> <span>ARGV</span><span>[</span><span>argnum</span><span>];</span>

    <span># You can remove elements of an array</span>
    <span># This is particularly useful to prevent AWK from assuming the arguments</span>
    <span># are files for it to process</span>
    <span>delete</span> <span>ARGV</span><span>[</span><span>1</span><span>];</span>

    <span># The number of command line arguments is in a variable called ARGC</span>
    <span>print</span> <span>ARGC</span><span>;</span>

    <span># AWK has several built-in functions. They fall into three categories. I'll</span>
    <span># demonstrate each of them in their own functions, defined later.</span>

    <span>return_value</span> <span>=</span> <span>arithmetic_functions</span><span>(</span><span>a</span><span>,</span> <span>b</span><span>,</span> <span>c</span><span>);</span>
    <span>string_functions</span><span>();</span>
    <span>io_functions</span><span>();</span>
<span>}</span>

<span># Here's how you define a function</span>
<span>function</span> <span>arithmetic_functions</span><span>(</span><span>a</span><span>,</span> <span>b</span><span>,</span> <span>c</span><span>,</span>     <span>d</span><span>)</span> <span>{</span>

    <span># Probably the most annoying part of AWK is that there are no local</span>
    <span># variables. Everything is global. For short scripts, this is fine, even</span>
    <span># useful, but for longer scripts, this can be a problem.</span>

    <span># There is a work-around (ahem, hack). Function arguments are local to the</span>
    <span># function, and AWK allows you to define more function arguments than it</span>
    <span># needs. So just stick local variable in the function declaration, like I</span>
    <span># did above. As a convention, stick in some extra whitespace to distinguish</span>
    <span># between actual function parameters and local variables. In this example,</span>
    <span># a, b, and c are actual parameters, while d is merely a local variable.</span>

    <span># Now, to demonstrate the arithmetic functions</span>

    <span># Most AWK implementations have some standard trig functions</span>
    <span>localvar</span> <span>=</span> <span>sin</span><span>(</span><span>a</span><span>);</span>
    <span>localvar</span> <span>=</span> <span>cos</span><span>(</span><span>a</span><span>);</span>
    <span>localvar</span> <span>=</span> <span>atan2</span><span>(</span><span>b</span><span>,</span> <span>a</span><span>);</span> <span># arc tangent of b / a</span>

    <span># And logarithmic stuff</span>
    <span>localvar</span> <span>=</span> <span>exp</span><span>(</span><span>a</span><span>);</span>
    <span>localvar</span> <span>=</span> <span>log</span><span>(</span><span>a</span><span>);</span>

    <span># Square root</span>
    <span>localvar</span> <span>=</span> <span>sqrt</span><span>(</span><span>a</span><span>);</span>

    <span># Truncate floating point to integer</span>
    <span>localvar</span> <span>=</span> <span>int</span><span>(</span><span>5.34</span><span>);</span> <span># localvar =&gt; 5</span>

    <span># Random numbers</span>
    <span>srand</span><span>();</span> <span># Supply a seed as an argument. By default, it uses the time of day</span>
    <span>localvar</span> <span>=</span> <span>rand</span><span>();</span> <span># Random number between 0 and 1.</span>

    <span># Here's how to return a value</span>
    <span>return</span> <span>localvar</span><span>;</span>
<span>}</span>

<span>function</span> <span>string_functions</span><span>(</span>    <span>localvar</span><span>,</span> <span>arr</span><span>)</span> <span>{</span>

    <span># AWK, being a string-processing language, has several string-related</span>
    <span># functions, many of which rely heavily on regular expressions.</span>

    <span># Search and replace, first instance (sub) or all instances (gsub)</span>
    <span># Both return number of matches replaced</span>
    <span>localvar</span> <span>=</span> <span>"fooooobar"</span><span>;</span>
    <span>sub</span><span>(</span><span>"fo+"</span><span>,</span> <span>"Meet me at the "</span><span>,</span> <span>localvar</span><span>);</span> <span># localvar =&gt; "Meet me at the bar"</span>
    <span>gsub</span><span>(</span><span>"e+"</span><span>,</span> <span>"."</span><span>,</span> <span>localvar</span><span>);</span> <span># localvar =&gt; "m..t m. at th. bar"</span>

    <span># Search for a string that matches a regular expression</span>
    <span># index() does the same thing, but doesn't allow a regular expression</span>
    <span>match</span><span>(</span><span>localvar</span><span>,</span> <span>"t"</span><span>);</span> <span># =&gt; 4, since the 't' is the fourth character</span>

    <span># Split on a delimiter</span>
    <span>n</span> <span>=</span> <span>split</span><span>(</span><span>"foo-bar-baz"</span><span>,</span> <span>arr</span><span>,</span> <span>"-"</span><span>);</span> <span># a[1] = "foo"; a[2] = "bar"; a[3] = "baz"; n = 3</span>

    <span># Other useful stuff</span>
    <span>sprintf</span><span>(</span><span>"%s %d %d %d"</span><span>,</span> <span>"Testing"</span><span>,</span> <span>1</span><span>,</span> <span>2</span><span>,</span> <span>3</span><span>);</span> <span># =&gt; "Testing 1 2 3"</span>
    <span>substr</span><span>(</span><span>"foobar"</span><span>,</span> <span>2</span><span>,</span> <span>3</span><span>);</span> <span># =&gt; "oob"</span>
    <span>substr</span><span>(</span><span>"foobar"</span><span>,</span> <span>4</span><span>);</span> <span># =&gt; "bar"</span>
    <span>length</span><span>(</span><span>"foo"</span><span>);</span> <span># =&gt; 3</span>
    <span>tolower</span><span>(</span><span>"FOO"</span><span>);</span> <span># =&gt; "foo"</span>
    <span>toupper</span><span>(</span><span>"foo"</span><span>);</span> <span># =&gt; "FOO"</span>
<span>}</span>

<span>function</span> <span>io_functions</span><span>(</span>    <span>localvar</span><span>)</span> <span>{</span>

    <span># You've already seen print</span>
    <span>print</span> <span>"Hello world"</span><span>;</span>

    <span># There's also printf</span>
    <span>printf</span><span>(</span><span>"%s %d %d %d\n"</span><span>,</span> <span>"Testing"</span><span>,</span> <span>1</span><span>,</span> <span>2</span><span>,</span> <span>3</span><span>);</span>

    <span># AWK doesn't have file handles, per se. It will automatically open a file</span>
    <span># handle for you when you use something that needs one. The string you used</span>
    <span># for this can be treated as a file handle, for purposes of I/O. This makes</span>
    <span># it feel sort of like shell scripting, but to get the same output, the string</span>
    <span># must match exactly, so use a variable:</span>

    <span>outfile</span> <span>=</span> <span>"/tmp/foobar.txt"</span><span>;</span>

    <span>print</span> <span>"foobar"</span> <span>&gt;</span> <span>outfile</span><span>;</span>

    <span># Now the string outfile is a file handle. You can close it:</span>
    <span>close</span><span>(</span><span>outfile</span><span>);</span>

    <span># Here's how you run something in the shell</span>
    <span>system</span><span>(</span><span>"echo foobar"</span><span>);</span> <span># =&gt; prints foobar</span>

    <span># Reads a line from standard input and stores in localvar</span>
    <span>getline</span> <span>localvar</span><span>;</span>

    <span># Reads a line from a pipe (again, use a string so you close it properly)</span>
    <span>cmd</span> <span>=</span> <span>"echo foobar"</span><span>;</span>
    <span>cmd</span> <span>|</span> <span>getline</span> <span>localvar</span><span>;</span> <span># localvar =&gt; "foobar"</span>
    <span>close</span><span>(</span><span>cmd</span><span>);</span>

    <span># Reads a line from a file and stores in localvar</span>
    <span>infile</span> <span>=</span> <span>"/tmp/foobar.txt"</span><span>;</span>
    <span>getline</span> <span>localvar</span> <span>&lt;</span> <span>infile</span><span>;</span> 
    <span>close</span><span>(</span><span>infile</span><span>);</span>
<span>}</span>

<span># As I said at the beginning, AWK programs consist of a collection of patterns</span>
<span># and actions. You've already seen the BEGIN pattern. Other</span>
<span># patterns are used only if you're processing lines from files or standard</span>
<span># input.</span>
<span>#</span>
<span># When you pass arguments to AWK, they are treated as file names to process.</span>
<span># It will process them all, in order. Think of it like an implicit for loop,</span>
<span># iterating over the lines in these files. these patterns and actions are like</span>
<span># switch statements inside the loop. </span>

<span>/^fo+bar$/</span> <span>{</span>

    <span># This action will execute for every line that matches the regular</span>
    <span># expression, /^fo+bar$/, and will be skipped for any line that fails to</span>
    <span># match it. Let's just print the line:</span>

    <span>print</span><span>;</span>

    <span># Whoa, no argument! That's because print has a default argument: $0.</span>
    <span># $0 is the name of the current line being processed. It is created</span>
    <span># automatically for you.</span>

    <span># You can probably guess there are other $ variables. Every line is</span>
    <span># implicitly split before every action is called, much like the shell</span>
    <span># does. And, like the shell, each field can be access with a dollar sign</span>

    <span># This will print the second and fourth fields in the line</span>
    <span>print</span> <span>$</span><span>2</span><span>,</span> <span>$</span><span>4</span><span>;</span>

    <span># AWK automatically defines many other variables to help you inspect and</span>
    <span># process each line. The most important one is NF</span>

    <span># Prints the number of fields on this line</span>
    <span>print</span> <span>NF</span><span>;</span>

    <span># Print the last field on this line</span>
    <span>print</span> <span>$</span><span>NF</span><span>;</span>
<span>}</span>

<span># Every pattern is actually a true/false test. The regular expression in the</span>
<span># last pattern is also a true/false test, but part of it was hidden. If you</span>
<span># don't give it a string to test, it will assume $0, the line that it's</span>
<span># currently processing. Thus, the complete version of it is this:</span>

<span>$</span><span>0</span> <span>~</span> <span>/^fo+bar$/</span> <span>{</span>
    <span>print</span> <span>"Equivalent to the last pattern"</span><span>;</span>
<span>}</span>

<span>a</span> <span>&gt;</span> <span>0</span> <span>{</span>
    <span># This will execute once for each line, as long as a is positive</span>
<span>}</span>

<span># You get the idea. Processing text files, reading in a line at a time, and</span>
<span># doing something with it, particularly splitting on a delimiter, is so common</span>
<span># in UNIX that AWK is a scripting language that does all of it for you, without</span>
<span># you needing to ask. All you have to do is write the patterns and actions</span>
<span># based on what you expect of the input, and what you want to do with it.</span>

<span># Here's a quick example of a simple script, the sort of thing AWK is perfect</span>
<span># for. It will read a name from standard input and then will print the average</span>
<span># age of everyone with that first name. Let's say you supply as an argument the</span>
<span># name of a this data file:</span>
<span>#</span>
<span># Bob Jones 32</span>
<span># Jane Doe 22</span>
<span># Steve Stevens 83</span>
<span># Bob Smith 29</span>
<span># Bob Barker 72</span>
<span>#</span>
<span># Here's the script:</span>

<span>BEGIN</span> <span>{</span>

    <span># First, ask the user for the name</span>
    <span>print</span> <span>"What name would you like the average age for?"</span><span>;</span>

    <span># Get a line from standard input, not from files on the command line</span>
    <span>getline</span> <span>name</span> <span>&lt;</span> <span>"/dev/stdin"</span><span>;</span>
<span>}</span>

<span># Now, match every line whose first field is the given name</span>
<span>$</span><span>1</span> <span>==</span> <span>name</span> <span>{</span>

    <span># Inside here, we have access to a number of useful variables, already</span>
    <span># pre-loaded for us:</span>
    <span># $0 is the entire line</span>
    <span># $3 is the third field, the age, which is what we're interested in here</span>
    <span># NF is the number of fields, which should be 3</span>
    <span># NR is the number of records (lines) seen so far</span>
    <span># FILENAME is the name of the file being processed</span>
    <span># FS is the field separator being used, which is " " here</span>
    <span># ...etc. There are plenty more, documented in the man page.</span>

    <span># Keep track of a running total and how many lines matched</span>
    <span>sum</span> <span>+=</span> <span>$</span><span>3</span><span>;</span>
    <span>nlines</span><span>++</span><span>;</span>
<span>}</span>

<span># Another special pattern is called END. It will run after processing all the</span>
<span># text files. Unlike BEGIN, it will only run if you've given it input to</span>
<span># process. It will run after all the files have been read and processed</span>
<span># according to the rules and actions you've provided. The purpose of it is</span>
<span># usually to output some kind of final report, or do something with the</span>
<span># aggregate of the data you've accumulated over the course of the script.</span>

<span>END</span> <span>{</span>
    <span>if</span> <span>(</span><span>nlines</span><span>)</span>
        <span>print</span> <span>"The average age for "</span> <span>name</span> <span>" is "</span> <span>sum</span> <span>/</span> <span>nlines</span><span>;</span>
<span>}</span>
</pre><p><span>&nbsp;</span></p></div>]]></description>
	<dc:creator>BioJoker</dc:creator>
</item>

<item>
  <guid isPermaLink='true'>https://bioinformaticsonline.com/opportunity/view/12111/internship-program-with-arraygen-technolgies</guid>
  <pubDate>Sun, 22 Jun 2014 23:18:31 -0500</pubDate>
  <link></link>
  <title><![CDATA[Internship program with ArrayGen Technolgies]]></title>
  <description><![CDATA[
<p>Internship Program for Bioinformatics / Biotechnology Professionals Currently we offer positions to outstanding students interested in Next Generation Sequencing (NGS) data analysis. Applications are accepted throughout the year. Accepted students will be listed on web with their schedules. Accepted students can attend our future workshops and trainings freely at the specified venue.</p>

<p>Interested candidates may email their resume along with a cover letter to careers@arraygen.com</p>

<p>Official website: http://www.arraygen.com/</p>
]]></description>
</item>

</channel>
</rss>