<?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/42497?offset=220</link>
	<atom:link href="https://bioinformaticsonline.com/related/42497?offset=220" rel="self" type="application/rss+xml" />
	<description><![CDATA[]]></description>
	
	<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/news/view/22133/r-320-is-released</guid>
	<pubDate>Sat, 18 Apr 2015 05:06:44 -0500</pubDate>
	<link>https://bioinformaticsonline.com/news/view/22133/r-320-is-released</link>
	<title><![CDATA[R 3.2.0 is released]]></title>
	<description><![CDATA[<p>R 3.2.0 (codename &ldquo;Full of Ingredients&rdquo;)&nbsp;was <a href="http://r.789695.n4.nabble.com/R-3-2-0-is-released-td4705933.html" target="_blank">released yesterday</a>.&nbsp;You can get the latest binaries version <strong><a href="http://cran.rstudio.com/" target="_blank">from here</a>.</strong>&nbsp;(or the .tar.gz&nbsp;<strong>source</strong> code from <a href="http://cran.r-project.org/src/base/R-3/R-3.2.0.tar.gz" target="_blank">here</a>).&nbsp;The full list of new features and bug fixes is provided below.</p><h3>Upgrading to R 3.2.0 on Windows</h3><p>If you are using <strong>Windows&nbsp;</strong>you can easily upgrade to the latest version of R using <a href="http://cran.r-project.org/web/packages/installr/" target="_blank">the installr package</a>. Simply run the following code:</p><div><table>
<tbody>
<tr id="p612572">
<td id="p61257code2">
<pre><span style="color: #228b22;"># installing/loading the latest installr package:</span>
<span style="color: #0000ff; font-weight: bold;">install.<span>packages</span></span><span style="color: #080;">(</span><span style="color: #ff0000;">"installr"</span><span style="color: #080;">)</span><span style="color: #080;">;</span> <span style="color: #0000ff; font-weight: bold;">library</span><span style="color: #080;">(</span>installr<span style="color: #080;">)</span> <span style="color: #228b22;">#load / install+load installr</span>
&nbsp;
updateR<span style="color: #080;">(</span><span style="color: #080;">)</span> <span style="color: #228b22;"># updating R.</span></pre>
</td>
</tr>
</tbody>
</table></div><p><span>Running &ldquo;updateR()&rdquo; will detect if there is a new R version available, and if so it will download+install it (etc.).</span></p><p><span><strong>If you are an R blogger yourself</strong> you are invited to <a href="http://www.r-bloggers.com/add-your-blog/">add your own R content feed to this site</a> (<strong>Non-English</strong> R bloggers should add themselves- <a href="http://www.r-bloggers.com/lang/add-your-blog">here</a>)</span></p><h4>NEW FEATURES</h4><ul>
<li><code>anyNA()</code> gains a <code>recursive</code> argument.</li>
<li>When <code>x</code> is missing and <code>names</code> is not false (including the default value), <code>Sys.getenv(x, names)</code> returns an object of class <code>"Dlist"</code> and hence prints tidily.</li>
<li>(Windows.) <code>shell()</code> no longer consults the environment variable <span>SHELL</span>: too many systems have been encountered where it was set incorrectly (usually to a path where software was compiled, not where it was installed). <span>R_SHELL</span>, the preferred way to select a non-default shell, can be used instead.</li>
<li>Some unusual arguments to <code>embedFonts()</code> can now be specified as character vectors, and the defaults have been changed accordingly.</li>
<li>Functions in the <code>Summary</code> group duplicate less. (<a href="https://bugs.r-project.org/bugzilla3/show_bug.cgi?id=15798" target="_blank">PR#15798</a>)</li>
<li>(Unix-alikes.) <code>system(cmd, input = )</code> now uses &lsquo;shell-execution-environment&rsquo; redirection, which will be more natural if <code>cmd</code> is not a single command (but requires a POSIX-compliant shell). (Wish of <a href="https://bugs.r-project.org/bugzilla3/show_bug.cgi?id=15508" target="_blank">PR#15508</a>)</li>
<li><code>read.fwf()</code> and <code>read.DIF()</code> gain a <code>fileEncoding</code> argument, for convenience.</li>
<li>Graphics devices can add attributes to their description in <code>.Device</code> and <code>.Devices</code>. Several of those included with <strong>R</strong> use a <code>"filepath"</code> attribute.</li>
<li><code>pmatch()</code> uses hashing in more cases and so is faster at the expense of using more memory. (<a href="https://bugs.r-project.org/bugzilla3/show_bug.cgi?id=15697" target="_blank">PR#15697</a>)</li>
<li><code>pairs()</code> gains new arguments to select sets of variables to be plotted against each other.</li>
<li><code>file.info(, extra_cols = FALSE)</code> allows a minimal set of columns to be computed on Unix-alikes: on some systems without properly-configured caching this can be significantly faster with large file lists.</li>
<li>New function <code>dir.exists()</code> in package <span>base</span> to test efficiently whether one or more paths exist and are directories.</li>
<li><code>dput()</code> and friends gain new controls <span>hexNumeric</span> and <span>digits17</span> which output double and complex quantities as, respectively, binary fractions (exactly, see <code>sprintf("%a")</code>) and as decimals with up to 17 significant digits.</li>
<li><code>save()</code>, <code>saveRDS()</code> and <code>serialize()</code> now support <code>ascii = NA</code> which writes ASCII files using <code>sprintf("%a")</code> for double/complex quantities. This is read-compatible with <code>ascii = TRUE</code> but avoids binary-&gt;decimal-&gt;binary conversions with potential loss of precision. Unfortunately the Windows C runtime&rsquo;s lack of C99 compliance means that the format cannot be read correctly there in <strong>R</strong> before 3.1.2.</li>
<li>The default for <code>formatC(decimal.mark =)</code> has been changed to be <code>getOption("OutDec")</code>; this makes it more consistent with <code>format()</code> and suitable for use in print methods, e.g. those for classes <code>"density"</code>, <code>"ecdf"</code>, <code>"stepfun"</code> and <code>"summary.lm"</code>.
<p><code>getOption("OutDec")</code> is now consulted by the print method for class <code>"kmeans"</code>, by <code>cut()</code>, <code>dendrogram()</code>, <code>plot.ts()</code> and <code>quantile()</code> when constructing labels and for the report from<code>legend(trace = TRUE)</code>.</p>
<p>(In part, wish of <a href="https://bugs.r-project.org/bugzilla3/show_bug.cgi?id=15819" target="_blank">PR#15819</a>.)</p>
</li>
<li><code>printNum()</code> and hence <code>format()</code> and <code>formatC()</code> give a warning if <code>big.mark</code> and <code>decimal.mark</code> are set to the same value (period and comma are not uncommonly used for each, and this is a check that conventions have not got mixed).</li>
<li><code>merge()</code> can create a result which uses long vectors on 64-bit platforms.</li>
<li><code>dget()</code> gains a new argument <code>keep.source</code> which defaults to <code>FALSE</code> for speed (<code>dput()</code> and <code>dget()</code> are most often used for data objects where this can make <code>dget()</code> many times faster).</li>
<li>Packages may now use a file of common macro definitions in their help files, and may import definitions from other packages.</li>
<li>A number of macros have been added in the new &lsquo;<span>share/Rd</span>&rsquo; directory for use in package overview help pages, and <code>promptPackage()</code> now makes use of them.</li>
<li><code>tools::parse_Rd()</code> gains a new <code>permissive</code> argument which converts unrecognized macros into text. This is used by <code>utils:::format.bibentry</code> to allow LaTeX markup to be ignored.</li>
<li><code>options(OutDec =)</code> can now specify a multi-byte character, e.g., <code>options(OutDec = "u00b7")</code> in a UTF-8 locale.</li>
<li><code>is.recursive(x)</code> is no longer true when <code>x</code> is an external pointer, a weak reference or byte code; the first enables <code>all.equal(x, x)</code> when <code>x .</code></li>
<li><code>ls()</code> (aka <code>objects()</code>) and <code>as.list.environment()</code> gain a new argument <code>sorted</code>.</li>
<li>The <code>"source"</code> attribute (which has not been added to functions by <strong>R</strong> since before <strong>R</strong> version 2.14.0) is no longer treated as special.</li>
<li>Function <code>returnValue()</code> has been added to give <code>on.exit()</code> code access to a function&rsquo;s return value for debugging purposes.</li>
<li><code>crossprod(x, y)</code> allows more matrix coercions when <code>x</code> or <code>y</code> are vectors, now equalling <code>t(x) %*% y</code> in these cases (also reported by Radford Neal). Similarly, <code>tcrossprod(x,y)</code> and <code>%*%</code> work in more cases with vector arguments.</li>
<li>Utility function <code>dynGet()</code> useful for detecting cycles, aka infinite recursions.</li>
<li>The byte-code compiler and interpreter include new instructions that allow many scalar subsetting and assignment and scalar arithmetic operations to be handled more efficiently. This can result in significant performance improvements in scalar numerical code.</li>
<li><code>apply(m, 2, identity)</code> is now the same as the matrix <code>m</code> when it has <em>named</em> row names.</li>
<li>A new function <code>debuggingState()</code> has been added, allowing to temporarily turn off debugging.</li>
<li><code>example()</code> gets a new optional argument <code>run.donttest</code> and <code>tools::Rd2ex()</code> a corresponding <code>commentDonttest</code>, with a default such that <code>example(..)</code> in help examples will run <code>donttest</code> code only if used interactively (a change in behaviour).</li>
<li><code>rbind.data.frame()</code> gains an optional argument <code>make.row.names</code>, for potential speedup.</li>
<li>New function <code>extSoftVersion()</code> to report on the versions of third-party software in use in this session. Currently reports versions of <code>zlib</code>, <code>bzlib</code>, the <code>liblzma</code> from <code>xz</code>, PCRE, ICU, TRE and the <code>iconv</code> implementation.
<p>A similar function <code>grSoftVersion()</code> in package <span>grDevices</span> reports on third-party graphics software.</p>
<p>Function <code>tcltk::tclVersion()</code> reports the Tcl/Tk version.</p>
</li>
<li>Calling <code>callGeneric()</code> without arguments now works with primitive generics to some extent.</li>
<li><code>vapply(x, FUN, FUN.VALUE)</code> is more efficient notably for large <code>length(FUN.VALUE)</code>; as extension of <a href="https://bugs.r-project.org/bugzilla3/show_bug.cgi?id=16061" target="_blank">PR#16061</a>.</li>
<li><code>as.table()</code> now allows tables with one or more dimensions of length 0 (such as <code>as.table(integer())</code>).</li>
<li><code>names(x) now clears the names of call and <code>...</code> objects.</code></li>
<li><code>library()</code> will report a warning when an insufficient dependency version is masking a sufficient one later on the library search path.</li>
<li>A new <code>plot()</code> method for class <code>"raster"</code> has been added.</li>
<li>New <code>check_packages_in_dir_changes()</code> function in package <span>tools</span> for conveniently analyzing how changing sources impacts the check results of their reverse dependencies.</li>
<li>Speed-up from Peter Haverty for <code>ls()</code> and <code>methods:::.requirePackage()</code> speeding up package loading. (<a href="https://bugs.r-project.org/bugzilla3/show_bug.cgi?id=16133" target="_blank">PR#16133</a>)</li>
<li>New <code>get0()</code> function, combining <code>exists()</code> and <code>get()</code> in one call, for efficiency.</li>
<li><code>match.call()</code> gains an <code>envir</code> argument for specifying the environment from which to retrieve the <code>...</code> in the call, if any; this environment was wrong (or at least undesirable) when the<code>definition</code> argument was a function.</li>
<li><code>topenv()</code> has been made <code>.Internal()</code> for speedup, based on Peter Haverty&rsquo;s proposal in <a href="https://bugs.r-project.org/bugzilla3/show_bug.cgi?id=16140" target="_blank">PR#16140</a>.</li>
<li><code>getOption()</code> no longer calls <code>options()</code> in the main case.</li>
<li>Optional use of <code>libcurl</code> (version 7.28.0 from Oct 2012 or later) for Internet access:
<ul>
<li><code>capabilities("libcurl")</code> reports if this is available.</li>
<li><code>libcurlVersion()</code> reports the version in use, and other details of the <code>"libcurl"</code> build including which URL schemes it supports.</li>
<li><code>curlGetHeaders()</code> retrieves the headers for <code>http://</code>, <code>https://</code>, <code>ftp://</code> and <code>ftps://</code> URLs: analysis of these headers can provide insights into the &lsquo;existence&rsquo; of a URL (it might for example be permanently redirected) and is so used in <code>R CMD check --as-cran</code>.</li>
<li><code>download.file()</code> has a new optional method <code>"libcurl"</code> which will handle more URL schemes, follow redirections, and allows simultaneous downloads of multiple URLs.</li>
<li><code>url()</code> has a new method <code>"libcurl"</code> which handles more URL schemes and follows redirections. The default method is controlled by a new option <code>url.method</code>, which applies also to the opening of URLs <em>via</em> <code>file()</code> (which happens implicitly in functions such as <code>read.table</code>.)</li>
<li>When <code>file()</code> or <code>url()</code> is invoked with a <code>https://</code> or <code>ftps://</code> URL which the current method cannot handle, it switches to a suitable method if one is available.</li>
</ul>
</li>
<li>(Windows.) The DLLs &lsquo;<span>internet.dll</span>&rsquo; and &lsquo;<span>internet2.dll</span>&rsquo; have been merged. In this version it is safe to switch (repeatedly) between the internal and Windows internet functions within an <strong>R</strong>session.
<p>The Windows internet functions are still selected by flag <span>&ndash;internet2</span> or <code>setInternet2()</code>. This can be overridden for an <code>url()</code> connection <em>via</em> its new <code>method</code> argument.</p>
<p><code>download.file()</code> has new method <code>"wininet"</code>, selected as the default by <span>&ndash;internet2</span> or <code>setInternet2()</code>.</p>
</li>
<li><code>parent.env&lt;-</code> can no longer modify the parent of a locked namespace or namespace imports environment. Contributed by Karl Millar.</li>
<li>New function <code>isLoadedNamespace()</code> for readability and speed.</li>
<li><code>names(env)</code> now returns all the object names of an <code>environment</code> <code>env</code>, equivalently to <code>ls(env, all.names = TRUE, sorted = FALSE)</code> and also to the names of the corresponding list,<code>names(as.list(env, all.names = TRUE))</code>. Note that although <code>names()</code> returns a character vector, the names have no particular ordering.</li>
<li>The memory manager now grows the heap more aggressively. This reduces the number of garbage collections, in particular while data or code are loaded, at the expense of slightly increasing the memory footprint.</li>
<li>New function <code>trimws()</code> for removing leading/trailing whitespace.</li>
<li><code>cbind()</code> and <code>rbind()</code> now consider S4 inheritance during S3 dispatch and also obey <code>deparse.level</code>.</li>
<li><code>cbind()</code> and <code>rbind()</code> will delegate recursively to <code>methods::cbind2</code> (<code>methods::rbind2</code>) when at least one argument is an S4 object and S3 dispatch fails (due to ambiguity).</li>
<li>(Windows.) <code>download.file(quiet = FALSE)</code> now uses text rather than Windows progress bars in non-interactive use.</li>
<li>New function <code>hsearch_db()</code> in package <span>utils</span> for building and retrieving the help search database used by <code>help.search()</code>, along with functions for inspecting the concepts and keywords in the help search database.</li>
<li>New function <code>.getNamespaceInfo()</code>, a no-check version of <code>getNamespaceInfo()</code> mostly for internal speedups.</li>
<li>The help search system now takes <span>keyword</span> entries in Rd files which are not standard keywords (as given in &lsquo;<span>KEYWORDS</span>&rsquo; in the <strong>R</strong> documentation directory) as concepts. For standard keyword entries the corresponding descriptions are additionally taken as concepts.</li>
<li>New <code>lengths()</code> function for getting the lengths of all elements in a list.</li>
<li>New function <code>toTitleCase()</code> in package <span>tools</span>, tailored to package titles.</li>
<li>The matrix methods of <code>cbind()</code> and <code>rbind()</code> allow matrices as inputs which have <em>2^31</em> or more elements. (For <code>cbind()</code>, wish of <a href="https://bugs.r-project.org/bugzilla3/show_bug.cgi?id=16198" target="_blank">PR#16198</a>.)</li>
<li>The default method of <code>image()</code> has an explicit check for a numeric or logical matrix (which was always required).</li>
<li><code>URLencode()</code> will not by default encode further URLs which appear to be already encoded.</li>
<li><code>BIC(mod)</code> and <code>BIC(mod, mod2)</code> now give non-NA numbers for <code>arima()</code> fitted models, as <code>nobs(mod)</code> now gives the number of &ldquo;used&rdquo; observations for such models. This fixes <a href="https://bugs.r-project.org/bugzilla3/show_bug.cgi?id=16198" target="_blank">PR#16198</a>, quite differently than proposed there.</li>
<li>The <code>print()</code> methods for <code>"htest"</code>, <code>"pairwise.htest"</code> and <code>"power.htest"</code> objects now have a <code>digits</code> argument defaulting to (a function of) <code>getOption("digits")</code>, and influencing all printed numbers coherently. Unavoidably, this changes the display of such test results in some cases.</li>
<li>Code completion for namespaces now recognizes all loaded namespaces, rather than only the ones that are also attached.</li>
<li>The code completion mechanism can now be replaced by a user-specified completer function, for (temporary) situations where the usual code completion is inappropriate.</li>
<li><code>unzip()</code> will now warn if it is able to detect truncation when unpacking a file of 4GB or more (related to <a href="https://bugs.r-project.org/bugzilla3/show_bug.cgi?id=16243" target="_blank">PR#16243</a>).</li>
<li><code>methods()</code> reports S4 in addition to S3 methods; output is simplified when the <code>class</code> argument is used. <code>.S3methods()</code> and <code>methods::.S4methods()</code> report S3 and S4 methods separately.</li>
<li>Higher order functions such as the <code>apply</code> functions and <code>Reduce()</code> now force arguments to the functions they apply in order to eliminate undesirable interactions between lazy evaluation and variable capture in closures. This resolves <a href="https://bugs.r-project.org/bugzilla3/show_bug.cgi?id=16093" target="_blank">PR#16093</a>.</li>
</ul><p>More at http://cran.rstudio.com/</p><p>Reference: http://www.r-bloggers.com/r-3-2-0-is-released-using-the-installr-package-to-upgrade-in-windows-os/</p>]]></description>
	<dc:creator>Neel</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/27078/homer-software-for-motif-discovery-and-next-gen-sequencing-analysis</guid>
	<pubDate>Tue, 26 Apr 2016 03:48:23 -0500</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/27078/homer-software-for-motif-discovery-and-next-gen-sequencing-analysis</link>
	<title><![CDATA[HOMER:  Software for motif discovery and next-gen sequencing analysis]]></title>
	<description><![CDATA[<p><span>This tutorial covers topics independently of HOMER, and represents knowledge which is important to know before diving head first into more advanced analysis tools such as HOMER.</span></p>
<ol>
<li><a href="http://homer.salk.edu/homer/basicTutorial/computerSetup.html">Setting up your computing environment</a></li>
<li><a href="http://homer.salk.edu/homer/basicTutorial/retrieveFiles.html">Retrieving and storing sequencing files</a>&nbsp;(your own data or from public sources)</li>
<li><a href="http://homer.salk.edu/homer/basicTutorial/fastqFiles.html">Checking sequence quality, trimming, general sequence manipulation</a></li>
<li><a href="http://homer.salk.edu/homer/basicTutorial/mapping.html">Mapping reads to a reference genome</a></li>
<li><a href="http://homer.salk.edu/homer/basicTutorial/samfiles.html">Manipulating SAM/BAM alignment files</a></li>
<li><a href="http://homer.salk.edu/homer/basicTutorial/genomeBrowsers.html">Visualizing data in a genome browser</a></li>
</ol>
<p><br>RNA-Seq</p>
<ol>
<li><a href="http://homer.salk.edu/homer/basicTutorial/rnaseqCufflinks.html">De novo transcript discovery and differential analysis with Cufflinks</a></li>
<li><a href="http://homer.salk.edu/homer/basicTutorial/rnaseqR.html">Differential expression analysis with R/Bioconductor</a></li>
<li><a href="http://homer.salk.edu/homer/basicTutorial/clustering.html">Clustering of large expression datasets (microarray or RNA-Seq)</a></li>
</ol>
<p><br><span>Microarray</span></p>
<ol>
<li><a href="http://homer.salk.edu/homer/basicTutorial/affymetrix.html">Basic analysis of Affymetrix Gene Expression Arrays using R/Bioconductor</a></li>
</ol>
<p><span>General Tips for Data Analysis</span></p>
<ol>
<li><a href="http://homer.salk.edu/homer/basicTutorial/excelTips.html">Excel workarounds, adding gene annotation, X-Y plots tips, etc.</a></li>
</ol><p>Address of the bookmark: <a href="http://homer.salk.edu/homer/basicTutorial/" rel="nofollow">http://homer.salk.edu/homer/basicTutorial/</a></p>]]></description>
	<dc:creator>Neel</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/30336/finding-patterns-in-biological-sequences</guid>
	<pubDate>Thu, 22 Dec 2016 10:30:49 -0600</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/30336/finding-patterns-in-biological-sequences</link>
	<title><![CDATA[Finding Patterns in Biological Sequences]]></title>
	<description><![CDATA[<p>In this report we provide an overview of known techniques for discovery of patterns of biological sequences (DNA and proteins). We also provide biological motivation, and methods of biological verification of such patterns. Finally we list publicly available tools and databases for pattern discovery. On-line supplement is available through http://genetics.uwaterloo.ca/&sim;tvinar/cs798g/motif.</p><p>Address of the bookmark: <a href="http://engr.case.edu/li_jing/papers/00798gpattern.pdf" rel="nofollow">http://engr.case.edu/li_jing/papers/00798gpattern.pdf</a></p>]]></description>
	<dc:creator>Jit</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/33398/tiny-python36-notebook</guid>
	<pubDate>Sat, 03 Jun 2017 03:16:28 -0500</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/33398/tiny-python36-notebook</link>
	<title><![CDATA[Tiny Python3.6 Notebook]]></title>
	<description><![CDATA[<p><span>This is not so much an instructional manual, but rather notes, tables, and examples for Python syntax. It was created by the author as an additional resource during training, meant to be distributed as a physical notebook. Participants (who favor the physical characteristics of dead tree material) could add their own notes, thoughts, and have a valuable reference of curated examples.</span></p><p>Address of the bookmark: <a href="https://github.com/mattharrison/Tiny-Python-3.6-Notebook/blob/master/python.rst" rel="nofollow">https://github.com/mattharrison/Tiny-Python-3.6-Notebook/blob/master/python.rst</a></p>]]></description>
	<dc:creator>Neel</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/43022/a-simple-tutorial-for-a-complex-complexheatmap</guid>
	<pubDate>Fri, 02 Apr 2021 06:18:32 -0500</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/43022/a-simple-tutorial-for-a-complex-complexheatmap</link>
	<title><![CDATA[A simple tutorial for a complex ComplexHeatmap]]></title>
	<description><![CDATA[<p><em>ComplexHeatmap</em>&nbsp;(Gu, Eils, and Schlesner (2016)) is an R Programming Language (R Core Team (2020)) package that is currently listed in the&nbsp;<a href="https://bioconductor.org/">Bioconductor</a>&nbsp;package repository.</p>
<p><a href="https://github.com/kevinblighe/E-MTAB-6141#2-install-and-load-required-packages">install and load required packages</a></p>
<div>
<pre>  require(<span>RColorBrewer</span>)
  require(<span>ComplexHeatmap</span>)
  require(<span>circlize</span>)
  require(<span>digest</span>)
  require(<span>cluster</span>)</pre>
</div>
<p>If all load successfully, proceed to&nbsp;<span>Part 3</span>. Otherwise, go through the following code chunks in order to ensure that each package is installed and loaded properly.</p>
<p><em>BiocManager</em>&nbsp;(Morgan (2019))</p><p>Address of the bookmark: <a href="https://github.com/kevinblighe/E-MTAB-6141" rel="nofollow">https://github.com/kevinblighe/E-MTAB-6141</a></p>]]></description>
	<dc:creator>Neel</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/bookmarks/view/43863/snakemake-tutorials</guid>
	<pubDate>Mon, 09 May 2022 05:20:41 -0500</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/43863/snakemake-tutorials</link>
	<title><![CDATA[Snakemake Tutorials !]]></title>
	<description><![CDATA[<p>A lesson introducing the Snakemake workflow system for bioinformatics analysis.</p>
<blockquote>
<h2 id="prerequisites">Prerequisites<a href="https://carpentries-incubator.github.io/snakemake-novice-bioinformatics/index.html#prerequisites"></a></h2>
<p>This is an intermediate lesson and assumes learners have already done some bioinformatics:</p>
<ul>
<li>Familiarity with the BASH command shell, including concepts like pipes, variables and loops.</li>
<li>Knowledge of bioinformatics fundamentals like the FASTQ file format and transcriptome sequencing, in order to understand the example workflow.</li>
</ul>
<p>No previous knowledge of Snakemake or workflow systems is required.</p>
<p>https://carpentries-incubator.github.io/snakemake-novice-bioinformatics/index.html</p>
</blockquote><p>Address of the bookmark: <a href="https://carpentries-incubator.github.io/snakemake-novice-bioinformatics/aio/index.html" rel="nofollow">https://carpentries-incubator.github.io/snakemake-novice-bioinformatics/aio/index.html</a></p>]]></description>
	<dc:creator>Rahul Nayak</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/2726/comparison-of-short-read-de-novo-alignment-algorithms</guid>
	<pubDate>Wed, 21 Aug 2013 07:56:01 -0500</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/2726/comparison-of-short-read-de-novo-alignment-algorithms</link>
	<title><![CDATA[Comparison of Short Read De Novo Alignment Algorithms]]></title>
	<description><![CDATA[<p>Excellent article to introduce different sequencing methods along with tools for de novo assembly of sequencing reads and their relevant references.</p>
<p>Title:&nbsp;<strong>Comparison of Short Read De Novo Alignment Algorithms&nbsp;</strong></p>
<p>Author<strong>: Nikhil Gopal</strong></p><p>Address of the bookmark: <a href="http://biochem218.stanford.edu/Projects%202011/Gopal%202011.pdf" rel="nofollow">http://biochem218.stanford.edu/Projects%202011/Gopal%202011.pdf</a></p>]]></description>
	<dc:creator>Rahul Agarwal</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/34931/3d-dna-3d-de-novo-assembly-3d-dna-pipeline</guid>
	<pubDate>Thu, 28 Dec 2017 10:09:37 -0600</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/34931/3d-dna-3d-de-novo-assembly-3d-dna-pipeline</link>
	<title><![CDATA[3d-dna: 3D de novo assembly (3D DNA) pipeline]]></title>
	<description><![CDATA[<p>This code is designed to enable anyone to reproduce the Hs2-HiC and the AaegL4 genomes reported in:&nbsp;<a href="http://science.sciencemag.org/content/early/2017/03/22/science.aal3327.full">Dudchenko et al., De novo assembly of the Aedes aegypti genome using Hi-C yields chromosome-length scaffolds. Science, 2017.</a></p>
<p>Unless otherwise noted, all terminology below is consistent with this paper, and all references to figures and tables in this readme refer to this paper. Specifically, some of the terminology used below is outlined in&nbsp;<code>Figure S2</code>. The assembly procedure is described in detail in the&nbsp;<a href="http://science.sciencemag.org/content/suppl/2017/03/22/science.aal3327.DC1?_ga=1.9816115.760837492.1490574064">Supporting Online Materials</a>, specifically in the section labelled &ldquo;Pipeline description&rdquo;.</p>
<p>In addition, the pipeline uses tools and methods from&nbsp;<a href="http://www.cell.com/cell-systems/abstract/S2405-4712(16)30219-8">Juicer (Durand &amp; Shamim et al., Cell Systems, 2016)</a>&nbsp;and&nbsp;<a href="http://www.cell.com/cell-systems/abstract/S2405-4712(15)00054-X">Juicebox (Durand &amp; Robinson et al., Cell Systems, 2016)</a>, as well as additional dependencies noted below.</p>
<p>Feel free to post your questions and comments at:&nbsp;<a href="http://www.aidenlab.org/forum.html">http://www.aidenlab.org/forum.html</a></p>
<p>http://aidenlab.org/documentation.html</p><p>Address of the bookmark: <a href="https://github.com/theaidenlab/3d-dna" rel="nofollow">https://github.com/theaidenlab/3d-dna</a></p>]]></description>
	<dc:creator>Jit</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/36456/alpaca-a-hybrid-strategy-for-assembly-of-genomic-dna-shotgun-sequencing-reads</guid>
	<pubDate>Mon, 30 Apr 2018 04:38:40 -0500</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/36456/alpaca-a-hybrid-strategy-for-assembly-of-genomic-dna-shotgun-sequencing-reads</link>
	<title><![CDATA[ALPACA: A hybrid strategy for assembly of genomic DNA shotgun sequencing reads.]]></title>
	<description><![CDATA[<p><span>ALPACA requires Celera Assembler 8.3 or later. It is recommended to build Celera Assembler from source. (Why? The pre-built binaries CA_8.3rc1 and CA8.3rc2 will work for any large data set.&nbsp;</span></p>
<p><span>Detail paper at&nbsp;https://bmcgenomics.biomedcentral.com/articles/10.1186/s12864-017-3927-8</span></p><p>Address of the bookmark: <a href="https://github.com/VicugnaPacos/ALPACA" rel="nofollow">https://github.com/VicugnaPacos/ALPACA</a></p>]]></description>
	<dc:creator>Seema Singh</dc:creator>
</item>

</channel>
</rss>