<?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/28997?offset=470</link>
	<atom:link href="https://bioinformaticsonline.com/related/28997?offset=470" rel="self" type="application/rss+xml" />
	<description><![CDATA[]]></description>
	
	
<item>
  <guid isPermaLink='true'>https://bioinformaticsonline.com/opportunity/view/32374/ra-bioinformatics-at-jnu-new-delhi-india</guid>
  <pubDate>Thu, 27 Apr 2017 03:29:58 -0500</pubDate>
  <link></link>
  <title><![CDATA[RA Bioinformatics at JNU, New Delhi, INDIA]]></title>
  <description><![CDATA[
<p>School of Computational &amp; Integrative Sciences<br />Jawaharlal Nehru University<br />New Delhi-110067, INDIA</p>

<p>Date: April 24th. 2017	Last Date: May 6th 2017<br />PROJECT ID: 632</p>

<p>The following posts are urgently required to be filled for the Department of Biotechnology, Government of India funded project jointly running with IIIT-Hyderabad &amp; JNU, entitled "Computational Core for Plant Metabolomics" administrated by Prof Indira Ghosh, School of Computational and Integrative Sciences, Jawaharlal Nehru University, New Delhi-110 067.<br />NB: For all the posts, preference will be given to candidates with a good knowledge of Python and/or R in UNIX platform , knowledge of JAVA will also get a special consideration.</p>

<p>1.	RA / Research Associate (Metabolic engineering/Computational Biologist)</p>

<p>Salary: Rs. 36000/- + HRA</p>

<p>Vacancy: 1</p>

<p>Essential Qualifications: PhD in Bioinformatics /Mathematics/Computer Science with experience in analyzing high throughput omics-based data/Analysis of Network Biology/Chemoinformatics/Computational Biology related Software development. Published paper in the field is a must to prove the experience. Special consideration will be given if have experience in Industry, teaching &amp; product development.</p>

<p>Desired Skills: Prior experience in handling and guiding bioinformatics, metabolomics data, planning of new research area in metabolic driven network , collaborating with industry , preparing and filing reports etc. Will be expected to communicate with user groups and coordinate with LIMS group in Hyderabad and the Cheminformatics group in Delhi.</p>

<p>2.	Project SRF (Network model building/Systems biology integration)</p>

<p>Salary*: Rs.18000/- + HRA</p>

<p>Vacancy: 1</p>

<p>Essential Qualifications: M.Tech in Computational Biology with project experience or Masters / B.Tech in Basic Sciences with at least 2yrs of research experience in Bioinformatics/Mathematical Model building using Computational Biology tools &amp; related Database / Network analysis etc. For M.Sc/B.Tech, Published paper in peer-reviewed Journal whereas for M.Tech, the degree obtained in computational biology is a must.</p>

<p>Desired Skills: Will be expected to manage ongoing research activities in LIMS, interact with LIMS group, build network model using data compiled by experimentalist, prepare and file reports and associated project work etc. Familiarity with plant systems biology and genomics /metabolite resources related to plant metabolomics is desirable.</p>

<p>More at http://www.jnu.ac.in/Career/currentjobs.htm</p>
]]></description>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/44470/phyloherb-phylogenomic-analysis-pipeline-for-herbarium-specimens</guid>
	<pubDate>Wed, 21 Feb 2024 06:15:13 -0600</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/44470/phyloherb-phylogenomic-analysis-pipeline-for-herbarium-specimens</link>
	<title><![CDATA[PhyloHerb: Phylogenomic Analysis Pipeline for Herbarium Specimens]]></title>
	<description><![CDATA[<p><span>What is PhyloHerb</span><span>: PhyloHerb is a wrapper program to process&nbsp;</span><span>genome skimming</span><span>&nbsp;data collected from plant materials. The outcomes include the plastid genome (plastome) assemblies, mitochondrial genome assemblies, nuclear ribosomal DNAs (NTS+ETS+18S+ITS1+5.8S+ITS2+28S), alignments of gene and intergenic regions, and a species tree. It is designed to be a high throughput program dealing with lower quality data. Examples include&nbsp;</span><span>low-coverage (5x cpDNA) plastome phylogeny, recycling plastid genes from target enrichment data, retrieving low-copy nuclear genes from medium coverage (5x nucDNA) genome skimming</span><span>.</span></p><p>Address of the bookmark: <a href="https://github.com/lmcai/PhyloHerb/" rel="nofollow">https://github.com/lmcai/PhyloHerb/</a></p>]]></description>
	<dc:creator>LEGE</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/news/view/44724/step-by-step-guide-to-detect-pirnas-using-bioinformatics</guid>
	<pubDate>Fri, 13 Dec 2024 11:41:46 -0600</pubDate>
	<link>https://bioinformaticsonline.com/news/view/44724/step-by-step-guide-to-detect-pirnas-using-bioinformatics</link>
	<title><![CDATA[Step-by-Step Guide to Detect piRNAs Using Bioinformatics]]></title>
	<description><![CDATA[<p>Piwi-interacting RNAs (piRNAs) are a class of small non-coding RNAs that play crucial roles in silencing transposable elements and regulating gene expression, particularly in germline cells. Detecting piRNAs involves identifying their unique characteristics, such as size, sequence motifs, and association with Piwi proteins, from high-throughput RNA sequencing data.</p><p>This blog provides a comprehensive step-by-step guide to detect piRNAs using bioinformatics tools and workflows.</p><h4><strong>Step 1: Prepare Your Data</strong></h4><ol>
<li>
<p><strong>Obtain RNA Sequencing Data</strong><br />Acquire raw small RNA-seq data in FASTQ format. Datasets can be sourced from repositories like <strong>NCBI SRA</strong>, <strong>EMBL-EBI</strong>, or specific small RNA sequencing projects.</p>
</li>
<li>
<p><strong>Quality Control (QC)</strong><br />Use <strong>FastQC</strong> to assess the quality of raw reads:</p>
<div>
<div dir="ltr"><code>fastqc reads.fastq </code></div>
</div>
<p>Evaluate the per-base quality, adapter content, and overrepresented sequences.</p>
</li>
<li>
<p><strong>Trimming and Adapter Removal</strong><br />Use tools like <strong>Cutadapt</strong> or <strong>Trim Galore!</strong> to remove adapters and low-quality bases:</p>
<div>
<div dir="ltr"><code>cutadapt -a TGGAATTCTCGGGTGCCAAGG -o trimmed_reads.fastq reads.fastq </code></div>
</div>
<p>Ensure the remaining reads are of high quality for downstream analysis.</p>
</li>
</ol><h4><strong>Step 2: Map Reads to the Genome</strong></h4><p>Mapping reads to the reference genome is crucial for identifying piRNA loci.</p><ol>
<li>
<p><strong>Reference Genome Preparation</strong><br />Download the genome assembly of your organism from databases like <strong>Ensembl</strong>, <strong>UCSC Genome Browser</strong>, or <strong>NCBI</strong>.</p>
</li>
<li>
<p><strong>Align Reads</strong><br />Use <strong>Bowtie</strong> or <strong>STAR</strong> for small RNA alignment:</p>
<div>
<div dir="ltr"><code>bowtie -v 1 -k 1 --best genome_index trimmed_reads.fastq -S aligned_reads.sam </code></div>
</div>
<ul>
<li><code>-v 1</code>: Allows one mismatch.</li>
<li><code>-k 1</code>: Reports the best alignment.</li>
</ul>
</li>
<li>
<p><strong>Convert SAM to BAM</strong><br />Convert and sort alignments using <strong>SAMtools</strong>:</p>
<div>
<div dir="ltr"><code>samtools view -Sb aligned_reads.sam | samtools sort -o sorted_reads.bam </code></div>
</div>
</li>
</ol><h4><strong>Step 3: Identify Small RNAs</strong></h4><p>piRNAs are characterized by their size (24&ndash;32 nt) and strand bias.</p><ol>
<li>
<p><strong>Extract Reads by Size</strong><br />Use tools like <strong>BEDtools</strong> or custom scripts to filter reads between 24 and 32 nt:</p>
<div>
<div dir="ltr"><code>bedtools bamtofastq -i sorted_reads.bam -fq all_reads.fastq seqkit seq -m 24 -M 32 all_reads.fastq &gt; piRNA_size_reads.fastq </code></div>
</div>
</li>
<li>
<p><strong>Check for Sequence Bias</strong><br />piRNAs often have a strong bias for a uridine at the 5&rsquo; end (1U bias). Use tools like <strong>WebLogo</strong> to visualize sequence motifs.</p>
</li>
</ol><h4><strong>Step 4: Detect Ping-Pong Signature</strong></h4><p>The ping-pong amplification loop is a hallmark of piRNA biogenesis, characterized by a 10 nt overlap between piRNAs on opposite strands.</p><ol>
<li>
<p><strong>Generate Overlap Statistics</strong><br />Use the <strong>piPipes</strong> tool or custom scripts to calculate overlap:</p>
<div>
<div dir="ltr"><code>python ping_pong_overlap.py sorted_reads.bam </code></div>
</div>
</li>
<li>
<p><strong>Visualize Overlap Distribution</strong><br />Plot the distribution of overlaps to confirm the presence of the 10 nt ping-pong signature.</p>
</li>
</ol><h4><strong>Step 5: Annotate piRNA Clusters</strong></h4><p>piRNAs are often generated from genomic clusters.</p><ol>
<li>
<p><strong>Cluster Identification</strong><br />Use tools like <strong>proTRAC</strong> or <strong>PIRANHA</strong> to identify piRNA-producing clusters:</p>
<div>
<div dir="ltr"><code>proTRAC.pl -s sorted_reads.bam -g genome.fa -o clusters </code></div>
</div>
</li>
<li>
<p><strong>Annotate Genomic Regions</strong><br />Annotate the identified clusters using gene annotation files (GTF/GFF). Tools like <strong>BEDtools intersect</strong> can help associate piRNA clusters with genes or transposable elements:</p>
<div>
<div dir="ltr"><code>bedtools intersect -a clusters.bed -b genome_annotation.gtf &gt; annotated_clusters.bed </code></div>
</div>
</li>
</ol><h4><strong>Step 6: Functional Analysis</strong></h4><p>Functional analysis of piRNAs can uncover their targets and regulatory roles.</p><ol>
<li>
<p><strong>Predict piRNA Targets</strong><br />Use tools like <strong>IntaRNA</strong> or <strong>RNAhybrid</strong> to predict interactions between piRNAs and potential target mRNAs:</p>
<div>
<div dir="ltr"><code>RNAhybrid -t target_transcripts.fa -q piRNAs.fa &gt; piRNA_targets.txt </code></div>
</div>
</li>
<li>
<p><strong>Enrichment Analysis</strong><br />Perform GO or KEGG enrichment analysis of target genes using tools like <strong>g:Profiler</strong> or <strong>DAVID</strong>.</p>
</li>
</ol><h4><strong>Step 7: Validation and Visualization</strong></h4><ol>
<li>
<p><strong>Validate piRNA Candidates</strong><br />Cross-check the identified piRNAs against known piRNA databases, such as <strong>piRBase</strong> or <strong>piRNAdb</strong>.</p>
</li>
<li>
<p><strong>Visualize Results</strong></p>
<ul>
<li>Use <strong>IGV</strong> (Integrative Genomics Viewer) to visualize piRNA alignment and clusters on the genome.</li>
<li>Generate heatmaps or circos plots to present piRNA distributions.</li>
</ul>
</li>
</ol><h4><strong>Step 8: Share and Publish Findings</strong></h4><ol>
<li>
<p><strong>Archive Data</strong><br />Submit sequencing data to public repositories like <strong>SRA</strong> or <strong>GEO</strong> with metadata specifying piRNA-related experiments.</p>
</li>
<li>
<p><strong>Publish Results</strong><br />Share findings in journals or conferences, emphasizing novel piRNA candidates, target genes, or regulatory mechanisms.</p>
</li>
</ol><h4><strong>Conclusion</strong></h4><p>Detecting piRNAs involves a combination of computational and analytical methods to identify these unique small RNAs and their roles in gene regulation and transposable element suppression. By following this step-by-step guide, you can confidently navigate the complexities of piRNA detection and contribute to the growing understanding of their biological significance.</p>]]></description>
	<dc:creator>Abhi</dc:creator>
</item>

<item>
  <guid isPermaLink='true'>https://bioinformaticsonline.com/researchlabs/view/32629/bienko-and-crosetto-labs</guid>
  <pubDate>Fri, 12 May 2017 07:42:15 -0500</pubDate>
  <link></link>
  <title><![CDATA[Bienko and Crosetto Labs]]></title>
  <description><![CDATA[
<p>We are two groups of scientists doing frontier research in quantitative biology and biomedicine. The Bienko group is interested in exploring the fundamental design principles controlling how DNA is packed in the eukaryotic nucleus and its relation to gene expression regulation. The Crosetto group engineers new molecular methods for single-cell and spatially resolved omic measurements of DNA, RNA, and proteins, with a strong focus on tumor heterogeneity. By sharing ideas and resources, we work synergistically towards a more quantitative understanding of life’s processes in healthy and diseased conditions.</p>

<p>https://bienkocrosettolabs.org/</p>
]]></description>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/pages/view/34221/alignment-free-sequence-comparison-tools-available-for-next-generation-sequencing-data-analysis</guid>
	<pubDate>Tue, 07 Nov 2017 05:33:33 -0600</pubDate>
	<link>https://bioinformaticsonline.com/pages/view/34221/alignment-free-sequence-comparison-tools-available-for-next-generation-sequencing-data-analysis</link>
	<title><![CDATA[Alignment-free sequence comparison tools available for next-generation sequencing data analysis]]></title>
	<description><![CDATA[<div><p><span>kallisto</span></p></div><div><p>Transcript abundance quantification from RNA-seq data (uses pseudoalignment for rapid determination of read compatibility with targets)</p><p>Software (C++)</p><p><a href="https://pachterlab.github.io/kallisto/">https://pachterlab.github.io/kallisto/</a></p><p>Sailfish</p><p>Estimation of isoform abundances from reference sequences and RNA-seq data (<em>k</em>-mer based)</p><p>Software (C++)</p><p><a href="http://www.cs.cmu.edu/~ckingsf/software/sailfish/">http://www.cs.cmu.edu/~ckingsf/software/sailfish/</a></p><p>Salmon</p><p>Quantification of the expression of transcripts using RNA-seq data (uses&nbsp;<em>k</em>-mers)</p><p><a href="https://combine-lab.github.io/salmon/">https://combine-lab.github.io/salmon/</a></p><p>RNA-Skim</p><p>RNA-seq quantification at transcript-level (partitions the transcriptome into disjoint transcript clusters; uses&nbsp;<em>sig</em>-mers, a special type of&nbsp;<em>k</em>-mers)</p><p>Software (C++)</p><p><a href="http://www.csbio.unc.edu/rs/">http://www.csbio.unc.edu/rs/</a></p><p>Variant calling</p><p>ChimeRScope</p><p>Fusion transcript prediction using gene&nbsp;<em>k</em>-mers profiles of the RNA-seq paired-end reads</p><p>Software (Java)</p><p><a href="https://github.com/ChimeRScope/ChimeRScope/wiki">https://github.com/ChimeRScope/ChimeRScope/wiki</a></p><p>FastGT</p><p>Genotyping of known SNV/SNP variants directly from raw NGS sequence reads by counting unique&nbsp;<em>k</em>-mers</p><p>Software (C)</p><p><a href="https://github.com/bioinfo-ut/GenomeTester4/">https://github.com/bioinfo-ut/GenomeTester4/</a></p><p>Phy-Mer</p><p>Reference-independent mitochondrial haplogroup classifier from NGS data (<em>k</em>-mer based)</p><p>Software (Python)</p><p><a href="https://github.com/danielnavarrogomez/phy-mer">https://github.com/danielnavarrogomez/phy-mer</a></p><p>LAVA</p><p>Genotyping of known SNPs (dbSNP and Affymetrix's Genome-Wide Human SNP Array) from raw NGS reads (<em>k</em>-mer based)</p><p>Software (C)</p><p><a href="http://lava.csail.mit.edu/">http://lava.csail.mit.edu/</a></p><p>MICADo</p><p>Detection of mutations in targeted third-generation NGS data (can distinguish patients&rsquo; specific mutations; algorithm uses&nbsp;<em>k</em>-mers and is based on colored de Bruijn graphs)</p><p>Software (Python)</p><p><a href="http://github.com/cbib/MICADo">http://github.com/cbib/MICADo</a></p><p>General mapper</p><p>Minimap</p><p>Lightweight and fast read mapper and read overlap detector (uses the concept of &ldquo;minimazers&rdquo;, a special type of&nbsp;<em>k</em>-mers)</p><p>Software (C)</p><p><a href="https://github.com/lh3/minimap">https://github.com/lh3/minimap</a></p><p>Assembly</p><p>De novo genome assembly</p><p>MHAP</p><p>Produces highly continuous assembly (fully resolved chromosome arms) from third-generation long and noisy reads (10 kbp) using a dimensionality reduction technique MinHash</p><p>Software (Java)</p><p><a href="https://github.com/marbl/MHAP">https://github.com/marbl/MHAP</a></p><p>Miniasm</p><p>Assembler of long noisy reads (SMRT, ONT) using the Overlap-Layout Consensus (OLC) approach without the necessity of an error correction stage (uses minimap)</p><p>Software (C)</p><p><a href="https://github.com/lh3/miniasm">https://github.com/lh3/miniasm</a></p><p>LINKS</p><p>Scaffolding genome assembly with error-containing long sequence (e.g., ONT or PacBio reads, draft genomes)</p><p>Software (Perl)</p><p><a href="https://github.com/warrenlr/LINKS/">https://github.com/warrenlr/LINKS/</a></p><p>Read clustering</p><p>afcluster</p><p>Clustering of reads from different genes and different species based on&nbsp;<em>k</em>-mer counts</p><p>Software (C++)</p><p><a href="https://github.com/luscinius/afcluster">https://github.com/luscinius/afcluster</a></p><p>QCluster</p><p>Clustering of reads with alignment-free measures (<em>k</em>-mer based) and quality values</p><p>Software (C++)</p><p><a href="http://www.dei.unipd.it/~ciompin/main/qcluster.html">http://www.dei.unipd.it/~ciompin/main/qcluster.html</a></p><p>Reads error correction</p><p>Lighter</p><p>Correction of sequencing errors in raw, whole genome sequencing reads (<em>k</em>-mer based)</p><p>Software (C++)</p><p><a href="https://github.com/mourisl/Lighter">https://github.com/mourisl/Lighter</a></p><p>QuorUM</p><p>Error corrector for Illumina reads using k-mers</p><p>Software (C++)</p><p><a href="https://github.com/gmarcais/Quorum">https://github.com/gmarcais/Quorum</a></p><p>Trowel</p><p>Software (C++)</p><p><a href="https://sourceforge.net/projects/trowel-ec/">https://sourceforge.net/projects/trowel-ec/</a></p><p>Metagenomics</p><p>Assembly-free phylogenomics</p><p>AAF</p><p>Phylogeny reconstruction directly from unassembled raw sequence data from whole genome sequencing projects; provides bootstrap support to assess uncertainty in the tree topology (<em>k</em>-mer based)</p><p>Software (Python)</p><p><a href="https://github.com/fanhuan/AAF">https://github.com/fanhuan/AAF</a></p><p>kSNP v3</p><p>Reference-free SNP identification and estimation of phylogenetic trees using SNPs (based on&nbsp;<em>k</em>-mer analysis)</p><p>Software (C)</p><p><a href="https://sourceforge.net/projects/ksnp/files/">https://sourceforge.net/projects/ksnp/files/</a></p><p>NGS-MC</p><p>Phylogeny of species based on NGS reads using alignment-free sequence dissimilarity measures d2* and d2&nbsp;S&nbsp;under different Markov chain models (using&nbsp;<em>k</em>-words)</p><p>R package</p><p><a href="http://www-rcf.usc.edu/~fsun/Programs/NGS-MC/NGS-MC.html">http://www-rcf.usc.edu/~fsun/Programs/NGS-MC/NGS-MC.html</a></p><p>Species identification/taxonomic profiling</p><p>CLARK</p><p>Taxonomic classification of metagenomic reads to known bacterial genomes using&nbsp;<em>k</em>-mer search and LCA assignment</p><p>Software (C++)</p><p><a href="http://clark.cs.ucr.edu/">http://clark.cs.ucr.edu/</a></p><p>FOCUS</p><p>Reports organisms present in metagenomic samples and profiles their abundances (uses composition-based approach and non-negative least squares for prediction)</p><p>Web service Software (Python)</p><p><a href="http://edwards.sdsu.edu/FOCUS/">http://edwards.sdsu.edu/FOCUS/</a></p><p>GSM</p><p>Estimation of abundances of microbial genomes in metagenomic samples (<em>k</em>-mer based)</p><p>Software (Go)</p><p><a href="https://github.com/pdtrang/GSM">https://github.com/pdtrang/GSM</a></p><p>Mash</p><p>Species identification using assembled or unassembled Illumina, PacBio, and ONT data (based on MinHash dimensionality-reduction technique)</p><p>Software (C++)</p><p><a href="https://github.com/marbl/mash">https://github.com/marbl/mash</a></p><p>Kraken</p><p>Taxonomic assignment in metagenome analysis by exact&nbsp;<em>k</em>-mer search; LCA assignment of short reads based on a comprehensive sequence database</p><p>Software (C++)</p><p><a href="https://ccb.jhu.edu/software/kraken/">https://ccb.jhu.edu/software/kraken/</a></p><p>LMAT</p><p>Assignment of taxonomic labels to reads by&nbsp;<em>k</em>-mers searches in precomputed database</p><p>Software (C++/Python)</p><p><a href="https://sourceforge.net/projects/lmat/">https://sourceforge.net/projects/lmat/</a></p><p>stringMLST</p><p><em>k</em>-mer-based tool for MLST directly from the genome sequencing reads</p><p>Software (Python)</p><p><a href="http://jordan.biology.gatech.edu/page/software/stringMLST">http://jordan.biology.gatech.edu/page/software/stringMLST</a></p><p>Taxonomer</p><p><em>k</em>-mer-based ultrafast metagenomics tool for assigning taxonomy to sequencing reads from clinical and environmental samples</p><p>Web service</p><p><a href="http://taxonomer.iobio.io/">http://taxonomer.iobio.io/</a></p><p>Other</p><p>d2-tools</p><p>Word-based (<em>k</em>-tuple) comparison (pairwise dissimilarity matrix using d2S measure) of metatranscriptomic samples from NGS reads</p><p>Software (Python/R)</p><p><a href="https://code.google.com/p/d2-tools/">https://code.google.com/p/d2-tools/</a></p><p>VirHostMatcher</p><p>Prediction of hosts from metagenomic viral sequences based on ONF using various distance measures (e.g., d2)</p><p>Software (C++)</p><p><a href="https://github.com/jessieren/VirHostMatcher">https://github.com/jessieren/VirHostMatcher</a></p><p>MetaFast</p><p>Statistics calculation of metagenome sequences and the distances between them based on assembly using de Bruijn graphs and Bray&ndash;Curtis dissimilarity measure</p><p>Software (Java)</p><p><a href="https://github.com/ctlab/metafast">https://github.com/ctlab/metafast</a></p></div>]]></description>
	<dc:creator>Abhimanyu Singh</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/35920/mesquite-a-modular-system-for-evolutionary-analysis</guid>
	<pubDate>Tue, 13 Mar 2018 06:54:32 -0500</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/35920/mesquite-a-modular-system-for-evolutionary-analysis</link>
	<title><![CDATA[Mesquite: A modular system for evolutionary analysis]]></title>
	<description><![CDATA[<p><span>Mesquite is modular, extendible software for evolutionary biology, designed to help biologists organize and analyze comparative data about organisms. Its emphasis is on phylogenetic analysis, but some of its modules concern population genetics, while others do non-phylogenetic multivariate analysis. Because it is modular, the analyses available depend on the modules installed.</span></p>
<p><span>https://github.com/MesquiteProject/MesquiteCore</span></p><p>Address of the bookmark: <a href="http://mesquiteproject.org/" rel="nofollow">http://mesquiteproject.org/</a></p>]]></description>
	<dc:creator>Rahul Nayak</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/pages/view/34814/bioinformatics-web-application-development-with-perl</guid>
	<pubDate>Tue, 26 Dec 2017 18:14:11 -0600</pubDate>
	<link>https://bioinformaticsonline.com/pages/view/34814/bioinformatics-web-application-development-with-perl</link>
	<title><![CDATA[Bioinformatics Web Application Development with Perl]]></title>
	<description><![CDATA[<div><p>Perl's second wave of adoption came from the growth of the world wide web. Dynamic web pages&mdash;the precursor to modern web applications&mdash;were easy to create with Perl and CGI. Thanks to Perl's ubiquity as a language for system administrators and its power to manipulate text, it was the default choice for web programming. Its presence everywhere made it popular and, in some ways, the duct tape of the Internet.</p><h4>Web Application Development</h4><p>The old days of CGI programs and the simple development style that represented seem clunky. Web pages have become web applications. Development has moved from generating static HTML to both client and server side programming, with rich client interfaces and powerful backends.</p><p>Perl is still well suited for developing modern web apps. The language grows more powerful and easier to use every year, the available libraries are wonderful and keep getting better, and the inventions and discoveries available in modern Perl are unsurpassed.</p><p>In particular, a modern Perl developer can do amazing things with modern Perl tools. If you still think of Perl web development as a&nbsp;<em>cgi-bin</em>&nbsp;directory full of messy scripts that spew warnings to STDERR, you're a decade out of date. Better yet, you can replace that mess piecemeal, thanks to the new tools and techniques of modern Perl. See, for example, the ever-growing list of technologies&nbsp;<a href="http://www.builtinperl.com/">Built in Perl</a>.</p><h4>Modern Perl Web Frameworks</h4><p>While the old wave of web development may have made the CGI.pm module central, modern Perl web programming follows a stricter separation of business logic, URL and request routing, and output. The days of slinging a string here, an array there, a Perl hash yonder, declaring every variable at the top of the program, and maybe making a subroutine are gone. The Perl world has seen the value of abstraction and ways to mechanize away boilerplate. Perl has dozens of frameworks and toolkits designed to make web development and deployment simpler.</p><p>Any of a dozen of these frameworks will help you do great things, but three in particular stand out. You can build web sites and web applications of tremendous value with all three. These are neither the only good possibilities (think of POE or Jifty or Continuity or...) nor the only mechanisms for web programming with Perl (see Mechanize or LWP or Mojo::UserAgent for more). Yet if you want three good options to choose between, start here.</p><h4>Catalyst</h4><p>The&nbsp;<a href="http://catalystframework.org/">Catalyst</a>&nbsp;framework is a flexible and powerful system for building small to large web apps. It uses the&nbsp;<a href="http://moose.perl.org/">Moose</a>&nbsp;object system to provide great APIs for extension and further development. It's the most mature of the modern top Perl web frameworks, yet it retains its flexibility and vibrancy. In particular, its plugin and extension ecosystem allows it to evolve to provide new and essential features.</p><p>Catalyst has embraced the Plack/PSGI standard for Perl web deployment and recent versions are exploring high-scalability, event-based request handling models.</p><h4>Dancer</h4><p>The&nbsp;<a href="http://perldancer.org/">Dancer</a>&nbsp;framework is deliberately minimal in syntax and scope, but it also has a vibrant plugin ecosystem. Dancer particularly excels for smaller sites and applications, though good programmers can build larger things with it.</p><p>The first version of Dancer was easy to use. Dancer 2 continues that ease while improving the internals and robustness of applications.</p><h4>Mojolicious</h4><p>The&nbsp;<a href="http://mojolicio.us/">Mojolicious</a>&nbsp;(Mojo) framework has a real-time design based on high performance event handling. Its focus is solving new and interesting problems in simple and effective ways, and the project has produced a lot of new code that does old things in better ways.</p><p>In particular, Mojolicious goes to great lengths to support new web standards, such as CSS 3, web sockets, and HTTP 2.</p><p>Where Catalyst embraces the CPAN fully, Mojolicious by design provides most of what an average app might need in a single download. It's still fully compatible with the CPAN, but the intention is to provide good working defaults in a package that's easy to start with. Mojo's fans are quick to praise it as fun to develop.</p><p>A modern Perl web developer should be familiar with at least one of these frameworks.</p><h4>Modern Perl Storage Mechanisms</h4><p>Perl's venerable&nbsp;<a href="http://search.cpan.org/perldoc?DBI">DBI</a>&nbsp;module has been the focal point of database access since its invention. Its design allows it to provide the same interface to huge relational databases and flat files alike through its DBD extension mechanism. Yet the DBI by itself isn't the be-all, end-all of data storage and access in Perl.</p><h4>DBIx::Class</h4><p><a href="http://search.cpan.org/perldoc?DBIx::Class">DBIx::Class</a>&nbsp;sits on top of DBI to provide an API to your database based on the concept of queries and results. This is often sufficient to remove all but the most complicated of SQL from your code, leaving you to manipulate your business models instead of the small details of how a relational database works. The power and maintainability you receive is well the small cost of the learning curve.</p><p>Even better, DBIC can manage (and even generate) your database schema for you.</p><p>Recent versions of DBIC have demonstrated that a well-written ORM can perform much better than even clever hand-written code. Because it builds on the Perl DBI, it scales everywhere from SQLite to PostgreSQL, MySQL, Oracle, and more.</p><h3>Rose::DB</h3><p>The lesser-known but no less powerful&nbsp;<a href="http://search.cpan.org/perldoc?Rose::DB::Object">Rose::DB::Object</a>&nbsp;builds on&nbsp;<a href="http://search.cpan.org/perldoc?Rose::DB">Rose::DB</a>&nbsp;to provide an object-relational mapper for Perl. While its high level features most directly compare to those of DBIx::Class, it's often measurably faster.</p><h4>NoSQL on the CPAN</h4><p>Of course the&nbsp;<a href="http://search.cpan.org/">CPAN</a>&nbsp;has modules for almost any NoSQL database or job queue or persistence mechanism you could name, and several you have never heard of. Everything you need is a quick CPAN or cpanm away!</p><h4>Modern Perl Deployment Strategies</h4><p>In the early days of the web, deploying a Perl web application meant putting one or more&nbsp;<em>.cgi</em>&nbsp;or&nbsp;<em>.pl</em>&nbsp;files in a special directory and hoping that your system administrator had everything configured correctly. The execution model was often slow and cumbersome, and accessing shared resources such as databases was often tricky.</p><p>Modern Perl has better choices. While deployment strategies are the source of many arguments, the return on your investment from learning the modern way is impressive.</p><h4>Plack/PSGI</h4><p>The PSGI specification (as exemplified by&nbsp;<a href="http://plackperl.org/">Plack</a>) describes a strategy for building Perl web apps independent of server and with the possibility to share custom processing behaviors.</p><p>In other words, it's a standard for writing Perl apps to take advantage of the huge ecosystem of Perl development available on the CPAN without tying yourself to a server like Apache, Apache 2, nginx, or anything else.</p><p>Any good modern Perl web framework (including those listed here) supports PSGI. Several deployment mechanisms exist to meet various business needs which also support PSGI. In particular, you can deploy the same application with a local testing server on your own machine as you can to your production server or servers without changing your application at all.</p><h4>mod_perl</h4><p>The older but still viable mod_perl Apache httpd module embeds Perl into the web server. This was the first widespread persistence mechanism for Perl web applications themselves and it's still popular to this day, though PSGI compliance is often the choice for new development. (PSGI handlers to use mod_perl as the backend are available.)</p><p>Modern Perl developers should familiarize themselves with PSGI and the wealth of available Plack middleware.</p><h4>Perl Web Development</h4><p>Of course no discussion of Perl web development would be complete without mentioning the strength of the CPAN. Almost any project will benefit from the wealth of freely available libraries built to solve real problems. These distributions run the gamut from full-blown web frameworks and content management systems to APIs for web services, development tools, testing systems, and interfaces to document formats and external resources.</p><p>For example, if you need to write a web service which accepts JSON data and produces Excel spreadsheets, you can glue together a few CPAN distributions and get the job done early. If you need to consume XML from a remote service and emit a PDF, you're in luck.</p><p>Perl's prowess as a general purpose programming language as well as its flexibility and power in managing text and gluing systems together make it a wonderful fit for web development. The community's adoption of modern Perl standards such as PSGI and Plack only enhance your power.</p><p>Web application development in Perl is still viable, and modern Perl tools and techniques and libraries make it more powerful and pleasant than ever.</p></div>]]></description>
	<dc:creator>Jit</dc:creator>
</item>

<item>
  <guid isPermaLink='true'>https://bioinformaticsonline.com/researchlabs/view/35552/the-brent-lab</guid>
  <pubDate>Fri, 09 Feb 2018 10:55:27 -0600</pubDate>
  <link></link>
  <title><![CDATA[The Brent Lab]]></title>
  <description><![CDATA[
<p>The Brent Lab is developing and applying computational methods for mapping gene regulation networks, modeling them quantitatively, and engineering new behaviors into them.</p>
]]></description>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/pages/view/36197/bioinformatics-oneliner</guid>
	<pubDate>Tue, 10 Apr 2018 04:13:03 -0500</pubDate>
	<link>https://bioinformaticsonline.com/pages/view/36197/bioinformatics-oneliner</link>
	<title><![CDATA[Bioinformatics OneLiner]]></title>
	<description><![CDATA[<p>To remove all line ends (\n) from a Unix text file:</p><pre>sed ':a;N;$!ba;s/\n//g' filename.txt &gt; newfilename_oneline.txt</pre><p>To get average for a column of numbers (here the second column $2):</p><pre>awk '{ sum += $2; n++ } END { if (n &gt; 0) print sum / n; }'</pre><p>To get sequence length for all sequences in a fasta file:</p><pre>awk '/^&gt;/ {if (seqlen){print seqlen}; print ;seqlen=0;next; } { seqlen = seqlen +length($0)}END{print seqlen}' \<br />filename.fasta</pre><p>To copy (move, rename, etc) files based on their list in a text file:</p><pre>cat file_list.txt | while read line; do cp "$line" complete_dataset/"$line"; done</pre><p>To split bam files into sets with mapped and unmapped reads:</p><pre>samtools view -F4 sample.bam &gt; sample.mapped.sam<br />samtools view -f4 sample.bam &gt; sample.unmapped.sam</pre><p>To gzip all your fastq files using gnu parallel and gzip:</p><pre>parallel gzip ::: *.fastq</pre><p>To gzip all your fastq files using pigz:</p><pre>pigz *.fastq</pre><p>To count all sequences in a fasta file:</p><pre>grep "^&gt;" yourfile.fasta -c</pre><p>To count all sequences in all fasta files in your current directory:</p><pre>for a in *.fasta; do ls $a; grep "^&gt;" -c $a; done</pre><p>To keep only one copy of duplicated lines:</p><pre>awk '!seen[$0]++'</pre><p>To sum assembly size from SPAdes contigs.fasta or scaffolds.fasta file:</p><pre>grep "^&gt;" scaffolds.fasta | cut -f 4 -d '_' | paste -sd+ | bc</pre><p>To remove everything after the first space at each line, e.g. to to simplify fasta headers:</p><pre>cut -d' ' -f1 &lt; your_file</pre><p>To count reads in a all .fastq.gz files in your current folder (fast, using gnu parallel):</p><pre>parallel "echo {} &amp;&amp; gunzip -c {} | wc -l | awk '{d=\$1; print d/4;}'" ::: *.gz</pre><p>To count reads in a all .fastq.gz files in your current folder:</p><pre>zcat *.gz | echo $((`wc -l`/4))</pre><p>To count reads in a all .fastq files in your current folder:</p><pre>cat *.fastq | echo $((`wc -l`/4))</pre><p>To count base pairs in a all .fastq.gz files in your current folder:</p><pre>zcat *.fastq.gz | paste - - - - | cut -f 2 | tr -d '\n' | wc -c </pre><p>To split multifasta file into many fasta files:</p><pre>awk '/^&gt;/ {OUT=substr($0,2) ".fa"}; {print &gt;&gt; OUT; close(OUT)}' Input_File</pre><p>To convert Illumina FASTQ 1.3 to 1.8:</p><pre>sed -e '4~4y/@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghi/!"#$%&amp;'\''()*+,-.\/0123456789:;&lt;=&gt;?@ABCDEFGHIJ/' f.fastq</pre><p>To convert FASTQ to FASTA:</p><pre>sed -n '1~4s/^@/&gt;/p;2~4p' </pre><p>To get fastq read length distribution:</p><pre>cat reads.fastq | awk '{if(NR%4==2) print length($1)}' | sort | uniq -c</pre><p>To deinterleave interleaved fastq file:</p><pre>cat myf.fq | paste - - - - - - - - | tee &gt;(cut -f 1-4 | tr "\t" "\n" &gt; myfile_1.fq) | cut -f 5-8 | \<br />tr "\t" "\n" &gt; myf2.fq </pre><p>To filter and sort contig identifiers from SPAdes assembly (e.g. here lenght &gt;= 4000 + coverage &gt;=100):</p><pre>grep "^&gt;" scaffolds.fasta | sed s"/_/ /"g | awk '{ if ($4 &gt;= 4000 &amp;&amp; $6 &gt;= 100) print $0 }' | sort -k 4 -n | \<br />sed s"/ /_/"g</pre><p>To append something to all headers of your fasta files:</p><pre>sed 's/&gt;.*/&amp;YOURSTRING/' filename.fasta &gt; new_filename.fasta</pre><p>To replace/squeeze multiple adjacent spaces by only one space:&nbsp;</p><pre>tr -s " " &lt; file</pre><p>To filter fastq based on length (here larger than or equal to 21, but smaller than or equal to 25.</p><pre>cat your.fastq | paste - - - - | awk 'length($2)&nbsp; &gt;= 21 &amp;&amp; length($2) &lt;= 25' | sed 's/\t/\n/g' &gt; filtered.fastq</pre><p>To print difference between the last and first row in 5th column:</p><pre>awk '{if (!first){first=$5;}; last=$5;} END {print last-first}' myfile.txt</pre><p>To sample only 200 first bases from all sequences in a multifasta file (e.g. from assembly scaffolds.fasta file here):</p><pre>awk '/^&gt;/{ seqlen=0; print; next; } seqlen &lt; 200 { if (seqlen + length($0) &gt; 200) $0 = substr($0, 1, 200-seqlen);\<br /> seqlen += length($0); print }' scaffolds.fasta &gt; 200bp_scaffolds.fasta</pre><p>&nbsp;To pipe a compressed fasta file directly into makeblastdb.</p><pre>gunzip -c fasta.gz | makeblastdb -in -</pre><p>To remove sequences with duplicate fasta headers from a fasta file.</p><pre>awk '/^&gt;/{f=!d[$1];d[$1]=1}f' in.fasta &gt; out.fasta</pre>]]></description>
	<dc:creator>Rahul Nayak</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/41559/dahak-benchmarking-and-containerization-of-tools-for-analysis-of-complex-non-clinical-metagenomes</guid>
	<pubDate>Thu, 09 Apr 2020 04:56:09 -0500</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/41559/dahak-benchmarking-and-containerization-of-tools-for-analysis-of-complex-non-clinical-metagenomes</link>
	<title><![CDATA[Dahak: benchmarking and containerization of tools for analysis of complex non-clinical metagenomes.]]></title>
	<description><![CDATA[<p><span>Dahak is a software suite that integrates state-of-the-art open source tools for metagenomic analyses. Tools in the dahak software suite will perform various steps in metagenomic analysis workflows including data pre-processing, metagenome assembly, taxonomic and functional classification, genome binning, and gene assignment. We aim to deliver the analytical framework as a robust and reliable containerized workflow system, which will be free from dependency, installation, and execution problems typically associated with other open-source bioinformatics solutions. This will maximize the transparency, data provenance (i.e., the process of tracing the origins of data and its movement through the workflow), and reproducibility.</span></p>
<p><span>More at&nbsp;<a href="https://dahak-metagenomics.github.io/dahak/">https://dahak-metagenomics.github.io/dahak/</a></span></p><p>Address of the bookmark: <a href="https://github.com/dahak-metagenomics/dahak" rel="nofollow">https://github.com/dahak-metagenomics/dahak</a></p>]]></description>
	<dc:creator>BioStar</dc:creator>
</item>

</channel>
</rss>