<?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/38563?offset=80</link>
	<atom:link href="https://bioinformaticsonline.com/related/38563?offset=80" rel="self" type="application/rss+xml" />
	<description><![CDATA[]]></description>
	
	<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/27841/covcal-coverage-read-count-calculator</guid>
	<pubDate>Wed, 15 Jun 2016 18:08:13 -0500</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/27841/covcal-coverage-read-count-calculator</link>
	<title><![CDATA[CovCal: Coverage / Read Count Calculator]]></title>
	<description><![CDATA[<h2>Coverage / Read Count Calculator</h2>
<h4>Calculate how much sequencing you need to hit a target depth of coverage (or vice versa).</h4>
<p><span>Instructions:</span> set the read length/configuration and genome size, then select what you want to calculate.</p>
<p>Written by <a href="http://stephenturner.us/" target="blank">Stephen Turner</a>, based on the <a href="http://www.ncbi.nlm.nih.gov/pubmed/3294162" target="_blank">Lander-Waterman formula</a>, inspired by <a href="http://core-genomics.blogspot.com/2016/05/how-many-reads-to-sequence-genome.html" target="_blank">a similar calculator</a> written by James Hadfield. Coverage is calculated as <em>C=LN/G</em> and reads as <em>N=CG/L</em> where <em>C</em> = Coverage (X),<em>L</em> = Read length (bp), <em>G</em> = Haploid genome size (bp), and <em>N</em> = Number of reads. Source code <a href="https://github.com/stephenturner/covcalc" target="_blank">on GitHub</a>.</p><p>Address of the bookmark: <a href="http://apps.bioconnector.virginia.edu/covcalc/" rel="nofollow">http://apps.bioconnector.virginia.edu/covcalc/</a></p>]]></description>
	<dc:creator>Jit</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/29912/maq-mapping-and-assembly-with-quality</guid>
	<pubDate>Tue, 22 Nov 2016 04:51:39 -0600</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/29912/maq-mapping-and-assembly-with-quality</link>
	<title><![CDATA[Maq: Mapping and Assembly with Quality]]></title>
	<description><![CDATA[<p><strong>Maq</strong>&nbsp;stands for&nbsp;<em>Mapping and Assembly with Quality</em>&nbsp;It builds assembly by mapping short reads to reference sequences. Maq is a project hosted by&nbsp;<a href="http://sourceforge.net/">SourceForge.net</a>. The project page is available at<a href="http://sourceforge.net/projects/maq/">http://sourceforge.net/projects/maq/</a>. Maq is previously known as mapass2.</p>
<h2>Run Maq Now</h2>
<p>Follow these steps to try Maq. All you need is a reference sequence file in the FASTA format.</p>
<ol>
<li>Prepare a reference sequence (ref.fasta). Better a bacterial genome.</li>
<li>Download maq, maq-data and maqview at the&nbsp;<a href="http://sourceforge.net/project/showfiles.php?group_id=191815">download page</a>.</li>
<li>Copy maq, maq.pl and maq_eval.pl to the $PATH or to the same directory.</li>
<li>Simulate diploid reference and read sequences, map reads, call variants and evaluate the results in one go:
<pre>maq.pl demo ref.fasta calib-30.dat
</pre>
where&nbsp;<em>calib-30.dat</em>&nbsp;is contained in maq-data.</li>
<li>View the alignment:
<pre>cd maqdemo/easyrun;
maqindex -i -c consensus.cns all.map;
maqview -c consensus.cns all.map</pre>
</li>
</ol>
<p><strong>Even for advanced maq users, running `maq.pl demo' is recommended. You may find something helpful.</strong></p><p>Address of the bookmark: <a href="http://maq.sourceforge.net" rel="nofollow">http://maq.sourceforge.net</a></p>]]></description>
	<dc:creator>Jit</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/31156/splitbam-splits-a-bam-by-chromosomes</guid>
	<pubDate>Tue, 28 Feb 2017 09:01:28 -0600</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/31156/splitbam-splits-a-bam-by-chromosomes</link>
	<title><![CDATA[splitbam: splits a BAM by chromosomes]]></title>
	<description><![CDATA[<p><strong>splitbam</strong>&nbsp;splits a BAM by chromosomes.</p>
<p>Using the reference sequence dictionary (<code>*.dict</code>), it also creates some empty BAM files if no sam record was found for a chromosome. A pair of 'mock' SAM-Records can also be added to those empty BAMs to avoid some tools (like samtools) to crash.</p>
<h1>Usage</h1>
<p><code>java -jar splitbam.jar -p OUT/__CHROM__/__CHROM__.bam -R ref.fasta (bam|sam|stdin)</code></p>
<h1>Options</h1>
<ul>
<li>-h help; This screen.</li>
<li>-R (indexed reference file) REQUIRED.</li>
<li>-u (unmapped chromosome name): default:Unmapped</li>
<li>-e | --empty : generate EMPTY bams for chromosome having no read mapped</li>
<li>-m | --mock : if option '-e', add a mock pair of sam records to the empty bam</li>
<li>-p (output file/bam pattern) REQUIRED. MUST contain&nbsp;<strong><code>__CHROM__</code></strong>&nbsp;and end with .bam</li>
<li>-s assume input is sorted.</li>
<li>-x | --index create index.</li>
<li>-t | --tmp (dir) tmp file directory</li>
<li>-G (file) chrom-group file (see below)</li>
</ul><p>Address of the bookmark: <a href="https://code.google.com/archive/p/jvarkit/wikis/SplitBam.wiki" rel="nofollow">https://code.google.com/archive/p/jvarkit/wikis/SplitBam.wiki</a></p>]]></description>
	<dc:creator>Jit</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/34216/meraculous-de-novo-genome-assembly-with-short-paired-end-reads</guid>
	<pubDate>Tue, 07 Nov 2017 04:36:10 -0600</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/34216/meraculous-de-novo-genome-assembly-with-short-paired-end-reads</link>
	<title><![CDATA[Meraculous: De Novo Genome Assembly with Short Paired-End Reads]]></title>
	<description><![CDATA[<p><span>We describe a new algorithm, meraculous, for whole genome assembly of deep paired-end short reads, and apply it to the assembly of a dataset of paired 75-bp Illumina reads derived from the 15.4 megabase genome of the haploid yeast&nbsp;</span><em>Pichia stipitis</em><span>. More than 95% of the genome is recovered, with no errors; half the assembled sequence is in contigs longer than 101 kilobases and in scaffolds longer than 269 kilobases. Incorporating fosmid ends recovers entire chromosomes. Meraculous relies on an efficient and conservative traversal of the subgraph of the&nbsp;</span><em>k</em><span>-mer (deBruijn) graph of oligonucleotides with unique high quality extensions in the dataset, avoiding an explicit error correction step as used in other short-read assemblers. A novel memory-efficient hashing scheme is introduced. The resulting contigs are ordered and oriented using paired reads separated by &sim;280 bp or &sim;3.2 kbp, and many gaps between contigs can be closed using paired-end placements. Practical issues with the dataset are described, and prospects for assembling larger genomes are discussed.</span></p><p>Address of the bookmark: <a href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3158087/" rel="nofollow">https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3158087/</a></p>]]></description>
	<dc:creator>Jit</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/blog/view/42633/protocol-for-de-novo-genome-assembly-using-illumina-reads</guid>
	<pubDate>Sat, 16 Jan 2021 21:42:11 -0600</pubDate>
	<link>https://bioinformaticsonline.com/blog/view/42633/protocol-for-de-novo-genome-assembly-using-illumina-reads</link>
	<title><![CDATA[Protocol for De novo Genome Assembly using Illumina Reads]]></title>
	<description><![CDATA[<p>In this protocol, we address and describe the de novo assembly method for small to medium-sized genomes.</p><p><strong>What is de novo genome assembly?<br /></strong>The method of taking a large number of short DNA sequences and placing them back together to create a reflection of the original chromosomes from which the DNA originated relates to genome assembly. No previous knowledge of the source DNA sequence length, structure or composition is inferred by De novo genome assemblies. The DNA of the target organism is split up into millions of tiny parts and read on a sequencing computer in a genome sequencing experiment. Depending on the sequencing system used, these "reads" range from 20 to 1000 nucleotide base pairs (bp) in length. Usually, length reads of 36 - 150 bp are produced for Illumina style short read sequencing. These reads can be either &ldquo;single ended&rdquo; as described above or &ldquo;paired end.&rdquo;</p><p><strong>Why genome assembly?</strong><br />In basic research into why and how they live, as well as in applied topics, identifying the DNA sequence of an organism is useful. Awareness of a DNA sequence may be useful in virtually any biological research because of the relevance of DNA to living things. For example, it may be used in medicine to classify, diagnose and eventually improve genetic disorder therapies. Similarly, pathogens study can lead to treatments for infectious diseases.</p><p><strong>Raw NGS data</strong><br />Reads can be saved as a Fasta file as text or in a FastQ file with their attributes.&nbsp;FastQ is the most common read file format since this is what the Illumina sequencing pipeline creates. This will henceforth be the subject of our conversation.</p><p><strong>In a nutshell the protocol:</strong> <br />Get the sequence file(s) read from the sequencing machine (s). <br />Look at the readings - have an idea of what you have and what the standard is like. <br />If required, raw data cleanup/quality trimming. <br />Choose an adequate parameter set for assembly. <br />Assemble the data into scaffolds/contigs. <br />Examine the assembly performance and determine the efficiency of the assembly.</p><p><strong>Read Quality Control:</strong><br />Check the qualiy with fastQC.<br />Script<br />https://bioinformaticsonline.com/snippets/view/42540/install-fastqc-using-conda</p><p>Quality trimming/cleanup of read files.<br />This function trims adapters, barcodes and other contaminants from the reads.<br />Script<br />https://bioinformaticsonline.com/snippets/view/42542/trimmomatic-command</p><p><strong>Genome Assembly:</strong><br />The object of this portion of the protocol is to explain the method of assembling the reads trimmed by quality into draft contigs.</p><blockquote><p>spades.py -1 illumina_R1.fastq.gz -2 illumina_R2.fastq.gz --careful --cov-cutoff auto -o result_of_spades_assembly_all_illumina</p></blockquote><p>A significant range of short-read assemblers are available. Everyone with strengths and disadvantages of their own. <br /><em>Some of the assemblers available include:</em><br />Velvet<br />SOAP-denovo<br />MIRA<br />ALLPATHS</p><p>Next step is to assess the suitability and what to do with a draft package of contiguous details for the remainder of the study now.&nbsp;Few stuff you can note about the contigs you just created:&nbsp;They're the draft Contigs. Any mis-assemblies can occur.</p><p><strong>Mis-assembly checking and assembly metric tools:</strong><br />QUAST - Quality assessment tool for genome assembly http://bioinf.spbau.ru/quast<br />Mauve assembly metrics - http://code.google.com/p/ngopt/wiki/How_To_Score_Genome_Assemblies_with_Mauve<br />InGAP-SV - https://sites.google.com/site/nextgengenomics/ingap and http://ingap.sourceforge.net/<br />inGAP is also useful for finding structural variants between genomes from read mappings.</p><p><strong>Genome finishing tools:</strong><br />Semi-automated gap fillers:<br />Gap filler - http://www.baseclear.com/landingpages/basetools-a-wide-range-of-bioinformatics-solutions/gapfiller/</p><p>IMAGE (V2) - http://sourceforge.net/apps/mediawiki/image2/index.php?title=Main_Page</p><p><strong>Genome visualisers and editors:</strong><br />Artemis - http://www.sanger.ac.uk/resources/software/artemis/<br />IGV - http://www.broadinstitute.org/igv/</p><p><strong>Automated and semi automated annotation tools:</strong><br />Prokka - https://github.com/tseemann/prokka<br />RAST - http://www.nmpdr.org/FIG/wiki/view.cgi/FIG/RapidAnnotationServer<br />JCVI Annotation Service - http://www.jcvi.org/cms/research/projects/annotation-service/</p><p><strong>Frequent command use for the analysis are at:</strong></p><p>https://bioinformaticsonline.com/blog/view/38765/list-of-tools-frequently-used-while-genome-assembly<br />https://bioinformaticsonline.com/pages/view/42275/frequent-parameters-for-bioinformatics-tools</p>]]></description>
	<dc:creator>BioStar</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/blog/view/44758/the-ifs-and-buts-of-ngs-quality-control-and-trimming</guid>
	<pubDate>Thu, 02 Jan 2025 20:11:07 -0600</pubDate>
	<link>https://bioinformaticsonline.com/blog/view/44758/the-ifs-and-buts-of-ngs-quality-control-and-trimming</link>
	<title><![CDATA[The &quot;Ifs&quot; and &quot;Buts&quot; of NGS Quality Control and Trimming]]></title>
	<description><![CDATA[<p>Next-Generation Sequencing (NGS) has revolutionized biological research, providing vast amounts of data for a wide range of applications. However, the reliability of NGS analyses heavily depends on the quality of raw sequencing data. Quality control (QC) and trimming are critical preprocessing steps that can make or break your downstream analyses. In this blog, we explore the "ifs" (why you should perform QC and trimming) and the "buts" (challenges or considerations) of this vital step in NGS workflows.</p><h3><strong>The "Ifs" of NGS QC and Trimming</strong></h3><ol>
<li>
<p><strong>Ensures Data Integrity</strong><br />If you want to minimize errors in downstream analyses, QC and trimming remove low-quality reads and bases, ensuring high-confidence data. This step is essential for reliable variant calling, assembly, and other applications.</p>
</li>
<li>
<p><strong>Removes Contaminants</strong><br />If adapter sequences or contaminants are present in the raw reads, trimming can eliminate them. This prevents issues like misalignment or incorrect biological interpretations, ensuring cleaner data for analysis.</p>
</li>
<li>
<p><strong>Improves Mapping and Assembly</strong><br />If your goal is better alignment to a reference genome or improved de novo assembly, trimming low-quality bases and adapters is critical. High-quality reads map more efficiently and generate more accurate assemblies.</p>
</li>
<li>
<p><strong>Reduces Computational Load</strong><br />If you want to save computational resources, trimming reduces the dataset size, which speeds up processing and analysis. Clean datasets mean less computational time spent on processing low-quality data.</p>
</li>
<li>
<p><strong>Prepares for Standardized Analyses</strong><br />If your project involves multiple datasets, QC and trimming ensure uniformity across them. This standardization makes comparisons valid and reproducible, particularly in large collaborative studies.</p>
</li>
</ol><h3><strong>The "Buts" of NGS QC and Trimming</strong></h3><ol>
<li>
<p><strong>Risk of Over-Trimming</strong><br />But excessive trimming can lead to the loss of informative sequences, reducing read depth and potentially discarding biologically relevant data. This is especially critical in studies with limited sequencing depth.</p>
</li>
<li>
<p><strong>Bias Introduction</strong><br />But trimming algorithms might introduce biases, especially if they inadvertently remove sequences with specific biological patterns. This can skew results and compromise biological insights.</p>
</li>
<li>
<p><strong>Loss of Context in Paired-End Reads</strong><br />But trimming one read in a pair more than the other can lead to loss of pairing information. This complicates downstream analyses that rely on paired-end data, such as structural variant detection.</p>
</li>
<li>
<p><strong>Time and Resource Intensive</strong><br />But running QC and trimming for large datasets can be computationally expensive and time-consuming. As sequencing depth increases, preprocessing becomes a bottleneck in the analysis pipeline.</p>
</li>
<li>
<p><strong>Variable Standards</strong><br />But the criteria for trimming (e.g., quality threshold, minimum read length) can vary between tools and datasets. This variability may affect reproducibility and comparability of results across studies.</p>
</li>
</ol><h3><strong>Balancing the "Ifs" and "Buts"</strong></h3><p>To maximize the benefits of QC and trimming while mitigating the challenges, consider the following best practices:</p><ul>
<li>
<p><strong>Use QC Tools Wisely:</strong> Start with tools like <strong>FastQC</strong> to identify quality issues in your raw data. Visualizing quality metrics helps tailor your trimming parameters.</p>
</li>
<li>
<p><strong>Choose Reliable Trimming Tools:</strong> Tools like <strong>Trimmomatic</strong>, <strong>Cutadapt</strong>, and <strong>BBduk</strong> offer adaptive and customizable trimming options. Select one that aligns with your dataset and project goals.</p>
</li>
<li>
<p><strong>Set Reasonable Parameters:</strong> Avoid over-trimming by setting quality thresholds and minimum read lengths that balance data retention and quality improvement.</p>
</li>
<li>
<p><strong>Test Downstream Effects:</strong> Validate the impact of QC and trimming on downstream analyses, such as alignment efficiency, variant calling accuracy, or assembly quality.</p>
</li>
<li>
<p><strong>Document Your Workflow:</strong> Maintain detailed records of the parameters and tools used for QC and trimming. This ensures reproducibility and enables better troubleshooting.</p>
</li>
</ul><h3><strong>Conclusion</strong></h3><p>NGS quality control and trimming are essential steps to ensure reliable and accurate data for analysis. While the "ifs" highlight the clear benefits of these steps, the "buts" remind us of the potential pitfalls. By adopting best practices and carefully balancing these considerations, you can optimize your preprocessing workflow and unlock the full potential of your sequencing data.</p>]]></description>
	<dc:creator>BioStar</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/36257/aligngraph-algorithm-for-secondary-de-novo-genome-assembly-guided-by-closely-related-references</guid>
	<pubDate>Tue, 17 Apr 2018 16:21:20 -0500</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/36257/aligngraph-algorithm-for-secondary-de-novo-genome-assembly-guided-by-closely-related-references</link>
	<title><![CDATA[AlignGraph: algorithm for secondary de novo genome assembly guided by closely related references]]></title>
	<description><![CDATA[<p>AlignGraph is a software that extends and joins contigs or scaffolds by reassembling them with help provided by a reference genome of a closely related organism.</p>
<p>Using AlignGraph</p>
<pre><code>AlignGraph --read1 reads_1.fa --read2 reads_2.fa --contig contigs.fa --genome genome.fa --distanceLow distanceLow --distanceHigh distancehigh --extendedContig extendedContigs.fa --remainingContig remainingContigs.fa [--kMer k --insertVariation insertVariation --coverage coverage --part p --fastMap --ratioCheck --iterativeMap --misassemblyRemoval --resume]</code></pre>
<h3>&nbsp;</h3><p>Address of the bookmark: <a href="https://github.com/baoe/AlignGraph" rel="nofollow">https://github.com/baoe/AlignGraph</a></p>]]></description>
	<dc:creator>Manisha Mishra</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/32946/grass-a-generic-algorithm-for-scaffolding-next-generation-sequencing-assemblies</guid>
	<pubDate>Tue, 23 May 2017 05:20:32 -0500</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/32946/grass-a-generic-algorithm-for-scaffolding-next-generation-sequencing-assemblies</link>
	<title><![CDATA[GRASS: a generic algorithm for scaffolding next-generation sequencing assemblies.]]></title>
	<description><![CDATA[<p><span>GRASS (GeneRic ASsembly Scaffolder)-a novel algorithm for scaffolding second-generation sequencing assemblies capable of using diverse information sources. GRASS offers a mixed-integer programming formulation of the contig scaffolding problem, which combines contig order, distance and orientation in a single optimization objective. The resulting optimization problem is solved using an expectation-maximization procedure and an unconstrained binary quadratic programming approximation of the original problem. We compared GRASS with existing HTS scaffolders using Illumina paired reads of three bacterial genomes. Our algorithm constructs a comparable number of scaffolds, but makes fewer errors. This result is further improved when additional data, in the form of related genome sequences, are used.</span></p><p>Address of the bookmark: <a href="https://github.com/AlexeyG/GRASS" rel="nofollow">https://github.com/AlexeyG/GRASS</a></p>]]></description>
	<dc:creator>Abhimanyu Singh</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/34292/automatic-filtering-trimming-error-removing-and-quality-control-for-fastq-data</guid>
	<pubDate>Mon, 13 Nov 2017 05:10:23 -0600</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/34292/automatic-filtering-trimming-error-removing-and-quality-control-for-fastq-data</link>
	<title><![CDATA[Automatic Filtering, Trimming, Error Removing and Quality Control for fastq data]]></title>
	<description><![CDATA[<p><span>Automatic Filtering, Trimming, Error Removing and Quality Control for fastq data</span><br><code>AfterQC</code><span>&nbsp;can simply go through all fastq files in a folder and then output three folders:&nbsp;</span><span>good</span><span>,&nbsp;</span><span>bad</span><span>&nbsp;and&nbsp;</span><span>QC</span><span>&nbsp;folders, which contains good reads, bad reads and the QC results of each fastq file/pair.</span><br><span>Currently it supports processing data from HiSeq 2000/2500/3000/4000, Nextseq 500/550, MiniSeq...and other&nbsp;</span><a href="http://support.illumina.com/help/SequencingAnalysisWorkflow/Content/Vault/Informatics/Sequencing_Analysis/CASAVA/swSEQ_mCA_FASTQFiles.htm">Illumina 1.8 or newer formats</a></p><p>Address of the bookmark: <a href="https://github.com/OpenGene/AfterQC" rel="nofollow">https://github.com/OpenGene/AfterQC</a></p>]]></description>
	<dc:creator>Rahul Nayak</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/43587/fix-rewritable-error-of-elgg</guid>
	<pubDate>Mon, 15 Nov 2021 06:23:46 -0600</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/43587/fix-rewritable-error-of-elgg</link>
	<title><![CDATA[Fix rewritable error of ELGG !]]></title>
	<description><![CDATA[<p>The&nbsp;<code><a href="https://httpd.apache.org/docs/2.4/mod/mod_rewrite.html">mod_rewrite</a></code>&nbsp;module uses a rule-based rewriting engine, based on a PCRE regular-expression parser, to rewrite requested URLs on the fly. By default,&nbsp;<code><a href="https://httpd.apache.org/docs/2.4/mod/mod_rewrite.html">mod_rewrite</a></code>&nbsp;maps a URL to a filesystem path. However, it can also be used to redirect one URL to another URL, or to invoke an internal proxy fetch.</p>
<p><code><a href="https://httpd.apache.org/docs/2.4/mod/mod_rewrite.html">mod_rewrite</a></code>&nbsp;provides a flexible and powerful way to manipulate URLs using an unlimited number of rules. Each rule can have an unlimited number of attached rule conditions, to allow you to rewrite URL based on server variables, environment variables, HTTP headers, or time stamps.</p>
<p><code><a href="https://httpd.apache.org/docs/2.4/mod/mod_rewrite.html">mod_rewrite</a></code>&nbsp;operates on the full URL path, including the path-info section. A rewrite rule can be invoked in&nbsp;<code>httpd.conf</code>&nbsp;or in&nbsp;<code>.htaccess</code>. The path generated by a rewrite rule can include a query string, or can lead to internal sub-processing, external request redirection, or internal proxy throughput.</p>
<p>Further details, discussion, and examples, are provided in the&nbsp;<a href="https://httpd.apache.org/docs/2.4/rewrite/">detailed mod_rewrite documentation</a>.</p>
<p>&nbsp;</p>
<ul>
<li>sudo a2enmod rewrite</li>
</ul>
<ul>
<li>sudo systemctl restart apache2</li>
</ul>
<ul>
<li>sudo nano /etc/apache2/sites-available/000-default.conf</li>
</ul>
<p>Write this</p>
<div title="/etc/apache2/sites-available/000-default.conf">/etc/apache2/sites-available/000-default.conf</div>
<div>
<div>
<pre><code><span>&lt;</span>VirtualHost *:8<span><span>0</span>&gt;</span>
    <span></span><span><span>&lt;</span>Directory /var/www/html<span>&gt;</span></span><span></span>
        <span>Options Indexes FollowSymLinks MultiViews</span>
        <span>AllowOverride All</span>
        <span>Require all granted</span>
    <span></span><span><span>&lt;</span>/Directory<span>&gt;</span></span><span></span>

    <span>.</span> <span>.</span> <span>.</span>
<span>&lt;</span>/VirtualHost<span>&gt;</span></code></pre>
</div>
</div><p>Address of the bookmark: <a href="https://www.digitalocean.com/community/tutorials/how-to-rewrite-urls-with-mod_rewrite-for-apache-on-ubuntu-18-04" rel="nofollow">https://www.digitalocean.com/community/tutorials/how-to-rewrite-urls-with-mod_rewrite-for-apache-on-ubuntu-18-04</a></p>]]></description>
	<dc:creator>Abhi</dc:creator>
</item>

</channel>
</rss>