<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://amos.sourceforge.net/wiki/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://amos.sourceforge.net/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dmb000006</id>
		<title>AMOS WIKI - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://amos.sourceforge.net/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dmb000006"/>
		<link rel="alternate" type="text/html" href="http://amos.sourceforge.net/wiki/index.php/Special:Contributions/Dmb000006"/>
		<updated>2026-04-30T09:30:46Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.23.5</generator>

	<entry>
		<id>http://amos.sourceforge.net/wiki/index.php/Bambus_2.0/goBambus-perl</id>
		<title>Bambus 2.0/goBambus-perl</title>
		<link rel="alternate" type="text/html" href="http://amos.sourceforge.net/wiki/index.php/Bambus_2.0/goBambus-perl"/>
				<updated>2011-03-02T11:23:04Z</updated>
		
		<summary type="html">&lt;p&gt;Dmb000006: meh&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:&amp;lt;small&amp;gt;&amp;lt; [[Bambus 2.0]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
#!/usr/bin/perl -w&lt;br /&gt;
&lt;br /&gt;
## Very simple perl script to drive the Bambus 2.0 pipeline (as I&lt;br /&gt;
## currently understand it).&lt;br /&gt;
&lt;br /&gt;
use strict;&lt;br /&gt;
use Getopt::Long;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
## Configure defaults&lt;br /&gt;
&lt;br /&gt;
my $verbose = 1;&lt;br /&gt;
&lt;br /&gt;
my $contig_file = &amp;#039;&amp;#039;;&lt;br /&gt;
my $fasta_file  = &amp;#039;&amp;#039;;&lt;br /&gt;
my $mates_file  = &amp;#039;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
my $output_prefix = &amp;#039;out&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
## The threshold used to accept or reject a link between contigs&lt;br /&gt;
my $link_redundancy = 1;&lt;br /&gt;
&lt;br /&gt;
## Weather or not to run the (crappy) &amp;#039;repeat filter&amp;#039; code&lt;br /&gt;
my $filter_repeats  = 0;&lt;br /&gt;
&lt;br /&gt;
## Not running dot saves time on &amp;#039;big&amp;#039; runs&lt;br /&gt;
my $run_dot = 1;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
## Process command line arguments&lt;br /&gt;
&lt;br /&gt;
GetOptions&lt;br /&gt;
  (&amp;quot;contig_file=s&amp;quot;   =&amp;gt; \$contig_file,&lt;br /&gt;
   &amp;quot;fasta_file=s&amp;quot;    =&amp;gt; \$fasta_file,&lt;br /&gt;
   &amp;quot;mates_file=s&amp;quot;    =&amp;gt; \$mates_file,&lt;br /&gt;
   &amp;quot;output_prefix=s&amp;quot; =&amp;gt; \$output_prefix,&lt;br /&gt;
&lt;br /&gt;
   &amp;quot;link_redundancy|r=i&amp;quot; =&amp;gt; \$link_redundancy,&lt;br /&gt;
   &amp;quot;repeat_filter|x&amp;quot;     =&amp;gt; \$filter_repeats,&lt;br /&gt;
   &amp;quot;dot|d!&amp;quot;              =&amp;gt; \$run_dot,&lt;br /&gt;
   &amp;quot;verbose+&amp;quot;            =&amp;gt; \$verbose,&lt;br /&gt;
  )&lt;br /&gt;
  or die &amp;quot;failure to communicate\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
die &amp;quot;-c contig file plz!\n&amp;quot; unless -s $contig_file;&lt;br /&gt;
die &amp;quot;-f fasta  file plz!\n&amp;quot; unless -s $fasta_file;&lt;br /&gt;
die &amp;quot;-m mates  file plz!\n&amp;quot; unless -s $mates_file;&lt;br /&gt;
&lt;br /&gt;
die &amp;quot;are you crazy?\n&amp;quot;&lt;br /&gt;
  if $output_prefix eq &amp;#039;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
warn&lt;br /&gt;
  join(&amp;quot;\n&amp;quot;,&lt;br /&gt;
       &amp;quot;contig file     : $contig_file&amp;quot;,&lt;br /&gt;
       &amp;quot;fasta file      : $fasta_file&amp;quot;,&lt;br /&gt;
       &amp;quot;mates file      : $mates_file&amp;quot;,&lt;br /&gt;
       &amp;quot;output prefix   : $output_prefix&amp;quot;,&lt;br /&gt;
       &amp;quot;link redundancy : $link_redundancy&amp;quot;,&lt;br /&gt;
       &amp;quot;repeat filter   : $filter_repeats&amp;quot;,&lt;br /&gt;
       &amp;quot;run dot?        : $run_dot&amp;quot;,&lt;br /&gt;
       &amp;quot;verbose         : $verbose&amp;quot;,&lt;br /&gt;
      ), &amp;quot;\n&amp;quot;&lt;br /&gt;
  if $verbose &amp;gt; 0;&lt;br /&gt;
#exit;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
## Run the pipeline&lt;br /&gt;
&lt;br /&gt;
## Get data into bank format&lt;br /&gt;
&lt;br /&gt;
run(qq/&lt;br /&gt;
 toAmos&lt;br /&gt;
  -s $fasta_file&lt;br /&gt;
  -c $contig_file&lt;br /&gt;
  -m $mates_file&lt;br /&gt;
  -o $output_prefix.afg&lt;br /&gt;
/);&lt;br /&gt;
&lt;br /&gt;
## Debugging mates file&lt;br /&gt;
#exit;&lt;br /&gt;
&lt;br /&gt;
run(qq/&lt;br /&gt;
  bank-transact -cf&lt;br /&gt;
    -m $output_prefix.afg&lt;br /&gt;
    -b $output_prefix.bnk&lt;br /&gt;
/);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
## Run the new Bambus pipeline&lt;br /&gt;
&lt;br /&gt;
run(qq/&lt;br /&gt;
  clk&lt;br /&gt;
    -b $output_prefix.bnk&lt;br /&gt;
/);&lt;br /&gt;
&lt;br /&gt;
run(qq/&lt;br /&gt;
  Bundler&lt;br /&gt;
    -b $output_prefix.bnk&lt;br /&gt;
/);&lt;br /&gt;
&lt;br /&gt;
## Repeat filtering?&lt;br /&gt;
my $filter_repeats_option_string = &amp;#039;&amp;#039;;&lt;br /&gt;
if($filter_repeats){&lt;br /&gt;
  run(qq/&lt;br /&gt;
    MarkRepeats&lt;br /&gt;
      -noCoverageRepeats&lt;br /&gt;
      -b $output_prefix.bnk&lt;br /&gt;
      -redundancy $link_redundancy&lt;br /&gt;
       &amp;gt; $output_prefix.repeats&lt;br /&gt;
  /);&lt;br /&gt;
  &lt;br /&gt;
  $filter_repeats_option_string =&lt;br /&gt;
    &amp;quot;-repeats $output_prefix.repeats&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
run(qq/&lt;br /&gt;
  OrientContigs&lt;br /&gt;
    -noreduce&lt;br /&gt;
   $filter_repeats_option_string&lt;br /&gt;
    -b $output_prefix.bnk&lt;br /&gt;
    -redundancy $link_redundancy&lt;br /&gt;
    -prefix $output_prefix&lt;br /&gt;
/);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
## Generate some additional TEXT output&lt;br /&gt;
&lt;br /&gt;
## ouput a fasta sequence for the contigs from the bank (passed to&lt;br /&gt;
## printScaff with -f)&lt;br /&gt;
&lt;br /&gt;
#run(qq/&lt;br /&gt;
#  bank2fasta -iid&lt;br /&gt;
#    -b $output_prefix.bnk&lt;br /&gt;
#     &amp;gt; $output_prefix.contig.fasta&lt;br /&gt;
#/);&lt;br /&gt;
&lt;br /&gt;
## Generates the useful .details, .oo, .sum and .stats files&lt;br /&gt;
#    -f $output_prefix.contig.fasta&lt;br /&gt;
run(qq/&lt;br /&gt;
  printScaff -detail -oo -sum&lt;br /&gt;
    -e $output_prefix.evidence.xml&lt;br /&gt;
    -s $output_prefix.out.xml&lt;br /&gt;
    -l $output_prefix.library&lt;br /&gt;
    -o $output_prefix&lt;br /&gt;
/);&lt;br /&gt;
&lt;br /&gt;
run(qq/&lt;br /&gt;
  mv -f&lt;br /&gt;
    printScaff.error&lt;br /&gt;
    $output_prefix.printScaff.error&lt;br /&gt;
/)&lt;br /&gt;
  if -s &amp;#039;printScaff.error&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
## UNTANGLE&lt;br /&gt;
&lt;br /&gt;
run(qq/&lt;br /&gt;
  untangle&lt;br /&gt;
    -e $output_prefix.evidence.xml&lt;br /&gt;
    -s $output_prefix.out.xml&lt;br /&gt;
    -o $output_prefix.out.untangle.xml&lt;br /&gt;
/);&lt;br /&gt;
&lt;br /&gt;
run(qq/&lt;br /&gt;
  mv -f&lt;br /&gt;
    untangle.error&lt;br /&gt;
    $output_prefix.untangle.error&lt;br /&gt;
/)&lt;br /&gt;
  if -s &amp;#039;untangle.error&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
## Generates the useful .details, .oo, .sum and .stats files&lt;br /&gt;
#    -f $output_prefix.contig.fasta&lt;br /&gt;
run(qq/&lt;br /&gt;
  printScaff -detail -oo -sum -dot&lt;br /&gt;
    -e $output_prefix.evidence.xml&lt;br /&gt;
    -s $output_prefix.out.untangle.xml&lt;br /&gt;
    -l $output_prefix.library&lt;br /&gt;
    -o $output_prefix.untangle&lt;br /&gt;
/);&lt;br /&gt;
&lt;br /&gt;
run(qq/&lt;br /&gt;
  mv -f&lt;br /&gt;
    printScaff.error&lt;br /&gt;
    $output_prefix.untangle.printScaff.error&lt;br /&gt;
/)&lt;br /&gt;
  if -s &amp;#039;printScaff.error&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
## FINALLY, DOT&lt;br /&gt;
&lt;br /&gt;
if($run_dot){&lt;br /&gt;
  # output before untangle&lt;br /&gt;
  run(qq/&lt;br /&gt;
    dot -Tps&lt;br /&gt;
      $output_prefix.dot&lt;br /&gt;
    &amp;gt; $output_prefix.ps&lt;br /&gt;
  /);&lt;br /&gt;
  &lt;br /&gt;
  # output after untangle&lt;br /&gt;
  run(qq/&lt;br /&gt;
    dot -Tps&lt;br /&gt;
      $output_prefix.untangle.dot&lt;br /&gt;
    &amp;gt; $output_prefix.untangle.ps&lt;br /&gt;
  /);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
warn &amp;quot;OK\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
## Yup&lt;br /&gt;
&lt;br /&gt;
sub run{&lt;br /&gt;
  my $cmd = shift;&lt;br /&gt;
  &lt;br /&gt;
  $cmd =~ s/\n/ /g;&lt;br /&gt;
  &lt;br /&gt;
  print &amp;quot;\n\n\nRUN: $cmd\n\n&amp;quot;&lt;br /&gt;
    if $verbose &amp;gt; 0;&lt;br /&gt;
  &lt;br /&gt;
  `$cmd`;&lt;br /&gt;
  &lt;br /&gt;
  die if $? != 0;&lt;br /&gt;
  &lt;br /&gt;
  return 1;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dmb000006</name></author>	</entry>

	<entry>
		<id>http://amos.sourceforge.net/wiki/index.php/Bambus_2.0/goBambus-perl</id>
		<title>Bambus 2.0/goBambus-perl</title>
		<link rel="alternate" type="text/html" href="http://amos.sourceforge.net/wiki/index.php/Bambus_2.0/goBambus-perl"/>
				<updated>2011-03-02T11:05:22Z</updated>
		
		<summary type="html">&lt;p&gt;Dmb000006: Yup&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;PRE&amp;gt;&lt;br /&gt;
#!/usr/bin/perl -w&lt;br /&gt;
&lt;br /&gt;
## Very simple perl script to drive the Bambus 2.0 pipeline (as I&lt;br /&gt;
## currently understand it).&lt;br /&gt;
&lt;br /&gt;
use strict;&lt;br /&gt;
use Getopt::Long;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
## Configure defaults&lt;br /&gt;
&lt;br /&gt;
my $verbose = 1;&lt;br /&gt;
&lt;br /&gt;
my $contig_file = &amp;#039;&amp;#039;;&lt;br /&gt;
my $fasta_file  = &amp;#039;&amp;#039;;&lt;br /&gt;
my $mates_file  = &amp;#039;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
my $output_prefix = &amp;#039;out&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
## The threshold used to accept or reject a link between contigs&lt;br /&gt;
my $link_redundancy = 1;&lt;br /&gt;
&lt;br /&gt;
## Weather or not to run the (crappy) &amp;#039;repeat filter&amp;#039; code&lt;br /&gt;
my $filter_repeats  = 0;&lt;br /&gt;
&lt;br /&gt;
## Not running dot saves time on &amp;#039;big&amp;#039; runs&lt;br /&gt;
my $run_dot = 1;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
## Process command line arguments&lt;br /&gt;
&lt;br /&gt;
GetOptions&lt;br /&gt;
  (&amp;quot;contig_file=s&amp;quot;   =&amp;gt; \$contig_file,&lt;br /&gt;
   &amp;quot;fasta_file=s&amp;quot;    =&amp;gt; \$fasta_file,&lt;br /&gt;
   &amp;quot;mates_file=s&amp;quot;    =&amp;gt; \$mates_file,&lt;br /&gt;
   &amp;quot;output_prefix=s&amp;quot; =&amp;gt; \$output_prefix,&lt;br /&gt;
&lt;br /&gt;
   &amp;quot;link_redundancy|r=i&amp;quot; =&amp;gt; \$link_redundancy,&lt;br /&gt;
   &amp;quot;repeat_filter|x&amp;quot;     =&amp;gt; \$filter_repeats,&lt;br /&gt;
   &amp;quot;dot|d!&amp;quot;              =&amp;gt; \$run_dot,&lt;br /&gt;
   &amp;quot;verbose+&amp;quot;            =&amp;gt; \$verbose,&lt;br /&gt;
  )&lt;br /&gt;
  or die &amp;quot;failure to communicate\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
die &amp;quot;-c contig file plz!\n&amp;quot; unless -s $contig_file;&lt;br /&gt;
die &amp;quot;-f fasta  file plz!\n&amp;quot; unless -s $fasta_file;&lt;br /&gt;
die &amp;quot;-m mates  file plz!\n&amp;quot; unless -s $mates_file;&lt;br /&gt;
&lt;br /&gt;
die &amp;quot;are you crazy?\n&amp;quot;&lt;br /&gt;
  if $output_prefix eq &amp;#039;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
warn&lt;br /&gt;
  join(&amp;quot;\n&amp;quot;,&lt;br /&gt;
       &amp;quot;contig file     : $contig_file&amp;quot;,&lt;br /&gt;
       &amp;quot;fasta file      : $fasta_file&amp;quot;,&lt;br /&gt;
       &amp;quot;mates file      : $mates_file&amp;quot;,&lt;br /&gt;
       &amp;quot;output prefix   : $output_prefix&amp;quot;,&lt;br /&gt;
       &amp;quot;link redundancy : $link_redundancy&amp;quot;,&lt;br /&gt;
       &amp;quot;repeat filter   : $filter_repeats&amp;quot;,&lt;br /&gt;
       &amp;quot;run dot?        : $run_dot&amp;quot;,&lt;br /&gt;
       &amp;quot;verbose         : $verbose&amp;quot;,&lt;br /&gt;
      ), &amp;quot;\n&amp;quot;&lt;br /&gt;
  if $verbose &amp;gt; 0;&lt;br /&gt;
#exit;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
## Run the pipeline&lt;br /&gt;
&lt;br /&gt;
## Get data into bank format&lt;br /&gt;
&lt;br /&gt;
run(qq/&lt;br /&gt;
 toAmos&lt;br /&gt;
  -s $fasta_file&lt;br /&gt;
  -c $contig_file&lt;br /&gt;
  -m $mates_file&lt;br /&gt;
  -o $output_prefix.afg&lt;br /&gt;
/);&lt;br /&gt;
&lt;br /&gt;
## Debugging mates file&lt;br /&gt;
#exit;&lt;br /&gt;
&lt;br /&gt;
run(qq/&lt;br /&gt;
  bank-transact -cf&lt;br /&gt;
    -m $output_prefix.afg&lt;br /&gt;
    -b $output_prefix.bnk&lt;br /&gt;
/);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
## Run the new Bambus pipeline&lt;br /&gt;
&lt;br /&gt;
run(qq/&lt;br /&gt;
  clk&lt;br /&gt;
    -b $output_prefix.bnk&lt;br /&gt;
/);&lt;br /&gt;
&lt;br /&gt;
run(qq/&lt;br /&gt;
  Bundler&lt;br /&gt;
    -b $output_prefix.bnk&lt;br /&gt;
/);&lt;br /&gt;
&lt;br /&gt;
## Repeat filtering?&lt;br /&gt;
my $filter_repeats_option_string = &amp;#039;&amp;#039;;&lt;br /&gt;
if($filter_repeats){&lt;br /&gt;
  run(qq/&lt;br /&gt;
    MarkRepeats&lt;br /&gt;
      -noCoverageRepeats&lt;br /&gt;
      -b $output_prefix.bnk&lt;br /&gt;
      -redundancy $link_redundancy&lt;br /&gt;
       &amp;gt; $output_prefix.repeats&lt;br /&gt;
  /);&lt;br /&gt;
  &lt;br /&gt;
  $filter_repeats_option_string =&lt;br /&gt;
    &amp;quot;-repeats $output_prefix.repeats&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
run(qq/&lt;br /&gt;
  OrientContigs&lt;br /&gt;
    -noreduce&lt;br /&gt;
   $filter_repeats_option_string&lt;br /&gt;
    -b $output_prefix.bnk&lt;br /&gt;
    -redundancy $link_redundancy&lt;br /&gt;
    -prefix $output_prefix&lt;br /&gt;
/);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
## Generate some additional TEXT output&lt;br /&gt;
&lt;br /&gt;
## ouput a fasta sequence for the contigs from the bank (passed to&lt;br /&gt;
## printScaff with -f)&lt;br /&gt;
&lt;br /&gt;
#run(qq/&lt;br /&gt;
#  bank2fasta -iid&lt;br /&gt;
#    -b $output_prefix.bnk&lt;br /&gt;
#     &amp;gt; $output_prefix.contig.fasta&lt;br /&gt;
#/);&lt;br /&gt;
&lt;br /&gt;
## Generates the useful .details, .oo, .sum and .stats files&lt;br /&gt;
#    -f $output_prefix.contig.fasta&lt;br /&gt;
run(qq/&lt;br /&gt;
  printScaff -detail -oo -sum&lt;br /&gt;
    -e $output_prefix.evidence.xml&lt;br /&gt;
    -s $output_prefix.out.xml&lt;br /&gt;
    -l $output_prefix.library&lt;br /&gt;
    -o $output_prefix&lt;br /&gt;
/);&lt;br /&gt;
&lt;br /&gt;
run(qq/&lt;br /&gt;
  mv -f&lt;br /&gt;
    printScaff.error&lt;br /&gt;
    $output_prefix.printScaff.error&lt;br /&gt;
/)&lt;br /&gt;
  if -s &amp;#039;printScaff.error&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
## UNTANGLE&lt;br /&gt;
&lt;br /&gt;
run(qq/&lt;br /&gt;
  untangle&lt;br /&gt;
    -e $output_prefix.evidence.xml&lt;br /&gt;
    -s $output_prefix.out.xml&lt;br /&gt;
    -o $output_prefix.out.untangle.xml&lt;br /&gt;
/);&lt;br /&gt;
&lt;br /&gt;
run(qq/&lt;br /&gt;
  mv -f&lt;br /&gt;
    untangle.error&lt;br /&gt;
    $output_prefix.untangle.error&lt;br /&gt;
/)&lt;br /&gt;
  if -s &amp;#039;untangle.error&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
## Generates the useful .details, .oo, .sum and .stats files&lt;br /&gt;
#    -f $output_prefix.contig.fasta&lt;br /&gt;
run(qq/&lt;br /&gt;
  printScaff -detail -oo -sum -dot&lt;br /&gt;
    -e $output_prefix.evidence.xml&lt;br /&gt;
    -s $output_prefix.out.untangle.xml&lt;br /&gt;
    -l $output_prefix.library&lt;br /&gt;
    -o $output_prefix.untangle&lt;br /&gt;
/);&lt;br /&gt;
&lt;br /&gt;
run(qq/&lt;br /&gt;
  mv -f&lt;br /&gt;
    printScaff.error&lt;br /&gt;
    $output_prefix.untangle.printScaff.error&lt;br /&gt;
/)&lt;br /&gt;
  if -s &amp;#039;printScaff.error&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
## FINALLY, DOT&lt;br /&gt;
&lt;br /&gt;
if($run_dot){&lt;br /&gt;
  # output before untangle&lt;br /&gt;
  run(qq/&lt;br /&gt;
    dot -Tps&lt;br /&gt;
      $output_prefix.dot&lt;br /&gt;
    &amp;gt; $output_prefix.ps&lt;br /&gt;
  /);&lt;br /&gt;
  &lt;br /&gt;
  # output after untangle&lt;br /&gt;
  run(qq/&lt;br /&gt;
    dot -Tps&lt;br /&gt;
      $output_prefix.untangle.dot&lt;br /&gt;
    &amp;gt; $output_prefix.untangle.ps&lt;br /&gt;
  /);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
warn &amp;quot;OK\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
## Yup&lt;br /&gt;
&lt;br /&gt;
sub run{&lt;br /&gt;
  my $cmd = shift;&lt;br /&gt;
  &lt;br /&gt;
  $cmd =~ s/\n/ /g;&lt;br /&gt;
  &lt;br /&gt;
  print &amp;quot;\n\n\nRUN: $cmd\n\n&amp;quot;&lt;br /&gt;
    if $verbose &amp;gt; 0;&lt;br /&gt;
  &lt;br /&gt;
  `$cmd`;&lt;br /&gt;
  &lt;br /&gt;
  die if $? != 0;&lt;br /&gt;
  &lt;br /&gt;
  return 1;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dmb000006</name></author>	</entry>

	<entry>
		<id>http://amos.sourceforge.net/wiki/index.php/Bambus2</id>
		<title>Bambus2</title>
		<link rel="alternate" type="text/html" href="http://amos.sourceforge.net/wiki/index.php/Bambus2"/>
				<updated>2011-03-02T11:04:09Z</updated>
		
		<summary type="html">&lt;p&gt;Dmb000006: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.cs.umd.edu/~sergek/ Sergey Koren] and &lt;br /&gt;
[http://www.cbcb.umd.edu/~mpop/ Mihai Pop]&lt;br /&gt;
&lt;br /&gt;
Scaffolding represents the task of ordering and orienting contigs by incorporating additional information about their relative placement along the genome. The original Bambus package was the first general purpose scaffolders made available as an open source package. We are happy to announce the arrival of Bambus 2.0, the second generation Bambus scaffolder available as an open source package. While most other scaffolders are closely tied to a specific assembly program, Bambus accepts the output from most current assemblers and provides the user with great flexibility in choosing the scaffolding parameters. In particular, Bambus is able to accept contig linking data other than specified by mate-pairs. Such sources of information include alignment to a reference genome (Bambus can directly use the output of MUMmer), physical mapping data, or information about gene synteny. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Getting data into Bambus 2 requires you convert your assembly to AMOS format. Here is my recipe:&lt;br /&gt;
&lt;br /&gt;
 [[toAmos]] \&lt;br /&gt;
  -s my.fa \&lt;br /&gt;
  -c my.contig \&lt;br /&gt;
  -m my.mates \&lt;br /&gt;
  -o my.afg&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You need the .fa to list the contigs within the GFD-like contig file (annoying but true). You don&amp;#039;t need accurate sequences in the .fa, you just need something to make the format valid. The .contig and .mates are as expected for [[Bambus]].&lt;br /&gt;
&lt;br /&gt;
The resulting .afg is then &amp;#039;banked&amp;#039; with:&lt;br /&gt;
&lt;br /&gt;
 [[bank-transact]] -c \&lt;br /&gt;
  -b my.bnk \&lt;br /&gt;
  -m my.afg&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For more details, see the info here: http://www.cbcb.umd.edu/software/bambus/, which I have reproduced here [[Bambus 2.0/quick start guide]].&lt;br /&gt;
&lt;br /&gt;
A Perl flavour Bambus 2.0 &amp;#039;driver&amp;#039; script can be found here: [[Bambus 2.0/goBambus-perl]].&lt;/div&gt;</summary>
		<author><name>Dmb000006</name></author>	</entry>

	<entry>
		<id>http://amos.sourceforge.net/wiki/index.php/Bambus</id>
		<title>Bambus</title>
		<link rel="alternate" type="text/html" href="http://amos.sourceforge.net/wiki/index.php/Bambus"/>
				<updated>2011-03-02T11:03:11Z</updated>
		
		<summary type="html">&lt;p&gt;Dmb000006: See it!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
 | __TOC__&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{| align=&amp;quot;left&amp;quot;&lt;br /&gt;
 | [[Image:BambusLogo.jpg]]&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Bambus is the first general purpose scaffolder that is publicly available as an open source package. While most other scaffolders are closely tied to a specific assembly program, Bambus accepts the output from most current assemblers and provides the user with great flexibility in choosing the scaffolding parameters. In particular, Bambus is able to accept contig linking data other than specified by mate-pairs. Such sources of information include alignment to a reference genome (Bambus can directly use the output of MUMmer), physical mapping data, or information about gene synteny.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: Bambus is undergoing a transition in order to be integrated with the AMOS package.  Please stay tuned for a new and improved release! See &amp;#039;&amp;#039;&amp;#039;[[Bambus2]]&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
The distribution includes detailed documentation of all the file formats used. Also see the [[Bambus Manual]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In addition to the simple test data provided in the source package you can download a more complex example from: &lt;br /&gt;
[ftp://ftp.cbcb.umd.edu/pub/data/assembly/bambus-data.tar.gz ftp://ftp.cbcb.umd.edu/pub/data/assembly/bambus-data.tar.gz].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Publication ==&lt;br /&gt;
&amp;quot;Hierarchical scaffolding with Bambus.&amp;quot; Pop M, Kosack DS, Salzberg SL, Genome Research, 2004. 14(1):149-59.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Acknowledgements ==&lt;br /&gt;
The development of BAMBUS was supported by the National Science Foundation under grant KDI-9980088.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Bambus]]&lt;/div&gt;</summary>
		<author><name>Dmb000006</name></author>	</entry>

	<entry>
		<id>http://amos.sourceforge.net/wiki/index.php/ToAmos</id>
		<title>ToAmos</title>
		<link rel="alternate" type="text/html" href="http://amos.sourceforge.net/wiki/index.php/ToAmos"/>
				<updated>2011-02-28T16:10:44Z</updated>
		
		<summary type="html">&lt;p&gt;Dmb000006: /* Errors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;toAmos: converter from various types of inputs to AMOS messages&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
toAmos is primarily designed for converting the output of an assembly program into the AMOS format so that it can be stored in an AMOS bank.  toAmos can be used as a replacement for tarchive2amos however the latter is more flexible when converting from Trace Archive or simple .seq and .qual inputs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Synopsis ==&lt;br /&gt;
&lt;br /&gt;
 toAmos -o out_file &lt;br /&gt;
        (-s fasta_reads (-q qual_file) (-gq good_qual) (-bq bad_qual))&lt;br /&gt;
        (-c tigr_contig | -a celera_asm [-S][-utg] | -ta tigr_asm | -ace phrap_ace [-phd])&lt;br /&gt;
        (-m bambus_mates | -x trace_xml | -f celera_frg [-acc])&lt;br /&gt;
        (-arachne arachne_links | -scaff bambus_scaff)&lt;br /&gt;
        (-i insert_file | -map dst_map)&lt;br /&gt;
        (-pos pos_file)&lt;br /&gt;
        (-id min_id)&lt;br /&gt;
&lt;br /&gt;
toAmos reads the inputs specified on the command line and converts the information into AMOS message format.  The following types of information can be provided to toAmos:&lt;br /&gt;
&lt;br /&gt;
* Sequence and quality data (options -f, -s,  -q, -gq, or -bq)&lt;br /&gt;
* Library and mate-pair data (options -m, -x, -f, -i,  or  -map)&lt;br /&gt;
* Contig  data (options -c, -a, -ta, or -ace)&lt;br /&gt;
* Scaffold data (option -a)&lt;br /&gt;
&lt;br /&gt;
== Options ==&lt;br /&gt;
{| class=&amp;quot;somecssclass&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 | -o &amp;lt;out_file&amp;gt;    || output filename (&amp;#039;-&amp;#039; for standard output)&lt;br /&gt;
 |-&lt;br /&gt;
 | -s &amp;lt;fasta_reads&amp;gt; || sequence data file in FASTA format (reads names ending in .1 or /1 are taken as mate pairs)&lt;br /&gt;
 |-&lt;br /&gt;
 | -q &amp;lt;qual_file&amp;gt;   || sequence quality score file in QUAL format&lt;br /&gt;
 |-&lt;br /&gt;
 | -gq &amp;lt;bad_qual&amp;gt;   || minimum quality score for high-quality bases (default: 30) - if no quality file provided bases within clear range are assigned this quality value&lt;br /&gt;
 |-&lt;br /&gt;
 | -bq &amp;lt;good_qual&amp;gt;  || maximum quality score for  low-quality bases (default: 10) - if no quality file provided bases outside the clear range are assigned this quality value (default 10)&lt;br /&gt;
 |-&lt;br /&gt;
 | -c &amp;lt;tigr_contig&amp;gt; || provide TIGR .contig file [http://www.cbcb.umd.edu/research/contig_representation.shtml in GDE-like format]&lt;br /&gt;
 |-&lt;br /&gt;
 | -a &amp;lt;celera_asm&amp;gt;  || use Celera Assembler .asm contig file (contig and scaffold information)&lt;br /&gt;
 |-&lt;br /&gt;
 | -S               || include the surrogate unitigs in the .asm file as AMOS contigs&lt;br /&gt;
 |-&lt;br /&gt;
 | -utg             || include all UTG unitig messages in the .asm file as AMOS contigs&lt;br /&gt;
 |-&lt;br /&gt;
 | -ta &amp;lt;tigr_asm&amp;gt;   || contig file in TIGR Assembler format (.tasm)&lt;br /&gt;
 |-&lt;br /&gt;
 | -ace &amp;lt;phrap_ace&amp;gt; || contig file in Phred ACE format (can be accompanied by -q)&lt;br /&gt;
 |-&lt;br /&gt;
 | -phd             || read the content of PHD file referenced in ACE files&lt;br /&gt;
 |-&lt;br /&gt;
 | -m &amp;lt;bambus_mates&amp;gt; || library and mate-pair information file in Bambus format&lt;br /&gt;
 |-&lt;br /&gt;
 | -x &amp;lt;trace_xml&amp;gt;   || ancilliary data file (library, mate-pair, clear range) in Trace Archive XML format&lt;br /&gt;
 |-&lt;br /&gt;
 | -f &amp;lt;celera_frg&amp;gt;  || library, mate-pair, sequence, quality, and clear range data file in Celera Assembler format&lt;br /&gt;
 |-&lt;br /&gt;
 | -acc             || use accession numbers in FRG files&lt;br /&gt;
 |-&lt;br /&gt;
 | -arachne &amp;lt;arachne_links&amp;gt; || scaffold file in Arachne .links format&lt;br /&gt;
 |-&lt;br /&gt;
 | -scaff &amp;lt;bambus_scaff&amp;gt; || scaffold file in Bambus .scaff format&lt;br /&gt;
 |-&lt;br /&gt;
 | -map &amp;lt;dst_map&amp;gt;   || read map information - mapping from internal library ID to external library ID useful in conjunction with the -f option.  This file consists of space-separated records providing a mapping from the &amp;quot;acc:&amp;quot; field in &amp;quot;DST&amp;quot; records within the .frg file to an externally recognizable name for each library.&lt;br /&gt;
 |-&lt;br /&gt;
 | -pos &amp;lt;pos_file&amp;gt;  || TIGR-style .pos position file&lt;br /&gt;
 |-&lt;br /&gt;
 | -id &amp;lt;min_id&amp;gt;     || start numbering contigs at this number&lt;br /&gt;
 |-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== TIGR specific options (not too useful outside TIGR) ==&lt;br /&gt;
&lt;br /&gt;
* -i &amp;lt;insert file&amp;gt;  - use mapping from internal library ID to external library ID provided in a .insert file produced by pullfrag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
&lt;br /&gt;
The -ta (TIGR Assembler input) and -ace (ACE formatted input) options have not been throughly tested and likely do not properly work.  Contact us if either of these options is important to you.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Errors ==&lt;br /&gt;
 toAmos -c my.test.contig -m my.test.mates -o my.test.afg&lt;br /&gt;
 Cannot find ID for sequence lid05.f&lt;br /&gt;
&lt;br /&gt;
This problem is caused by forgetting to pass a fasta file (with -s) for the read sequences in the contig file. This is a bit weird as the reads are already in the .contig file.&lt;/div&gt;</summary>
		<author><name>Dmb000006</name></author>	</entry>

	<entry>
		<id>http://amos.sourceforge.net/wiki/index.php/ABBA</id>
		<title>ABBA</title>
		<link rel="alternate" type="text/html" href="http://amos.sourceforge.net/wiki/index.php/ABBA"/>
				<updated>2011-01-21T09:40:51Z</updated>
		
		<summary type="html">&lt;p&gt;Dmb000006: /* Acknowledgements */ hyperlinked grant id&amp;#039;s to look for outcomes.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ABBA: Assembly Boosted By Amino acid sequences&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
Assembly Boosted By Amino acid sequence is a comparative gene assembler, which uses amino acid sequences from predicted proteins to help build a better assembly. See the journal paper.&lt;br /&gt;
&lt;br /&gt;
For additional information on short read assembly check the following University of Maryland CBCB web sites:&lt;br /&gt;
&lt;br /&gt;
* [http://www.cbcb.umd.edu/research/SR-assembly.shtml Genome Assembly with Short Reads]&lt;br /&gt;
* [http://www.cbcb.umd.edu/research/SR-assembly-tutorial.shtml Genome Assembly with Short Reads Tutorial]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&lt;br /&gt;
Documentation on running ABBA is included with the distribution in the /docs subdirectory of AMOS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
[http://www.ploscompbiol.org/article/info:doi/10.1371/journal.pcbi.1000186 Gene-Boosted Assembly of a Novel Bacterial Genome from Very Short Reads].&lt;br /&gt;
&lt;br /&gt;
Salzberg SL, Sommer DD, Puiu D, Lee VT 2008 PLoS Computational Biology 4(9): e1000186 doi:10.1371/journal.pcbi.1000186&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Acknowledgements ==&lt;br /&gt;
The development of ABBA was supported by the National Institutes of Health under grants [http://www.google.com/search?q=R01-LM06845 R01-LM06845] and [http://www.google.com/search?q=R01-LM007938 R01-LM007938] to SLS.&lt;/div&gt;</summary>
		<author><name>Dmb000006</name></author>	</entry>

	<entry>
		<id>http://amos.sourceforge.net/wiki/index.php/PrintScaff</id>
		<title>PrintScaff</title>
		<link rel="alternate" type="text/html" href="http://amos.sourceforge.net/wiki/index.php/PrintScaff"/>
				<updated>2011-01-07T15:02:46Z</updated>
		
		<summary type="html">&lt;p&gt;Dmb000006: Redirected page to Bambus/printScaff&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Bambus/printScaff]]&lt;/div&gt;</summary>
		<author><name>Dmb000006</name></author>	</entry>

	<entry>
		<id>http://amos.sourceforge.net/wiki/index.php/Bambus_Manual</id>
		<title>Bambus Manual</title>
		<link rel="alternate" type="text/html" href="http://amos.sourceforge.net/wiki/index.php/Bambus_Manual"/>
				<updated>2011-01-07T15:02:20Z</updated>
		
		<summary type="html">&lt;p&gt;Dmb000006: /* Untangling scaffolds */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
 | __TOC__&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The output of most shotgun sequence assembly programs (such as TIGR Assembler, phrap, or CAP3) consists in a set of un-related contigs, whose order and orientation along the chromosome is unknown. Scaffolding represents the task of ordering and orienting these contigs by using additional information about their relative placement. Traditionally such information was identified from the pairing of reads from the opposite ends of an insert in double-barelled shotgun experiments (see figure).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:scaffold image.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Besides clone mate information, homology data, physical maps, or gene synteny information can be used to derive relationships between contigs. BAMBUS is a program written to handle all such types of data in a generic fashion in order to build contig scaffolds. In order to account for the varied quality of linking information BAMBUS allows the user to specify a hierarchy that will consider the most reliable linking data first, then expand the scaffolds using less reliable data. This approach minimizes the effect of errors inherent to experimentally-derived linking information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Algorithm overview ===&lt;br /&gt;
&lt;br /&gt;
BAMBUS has two main modes of operation: hierarchical - when the links are considered in the order of their priorities, and standard - when all the links are considered at the same priority level. In the latter case, all links connecting two contigs are bundled together to form a &amp;quot;gap&amp;quot;, or &amp;quot;edge&amp;quot; if you look at the problem from a graph theoretical point of view. Each link is checked for validity before being added to a bundle. Thus, a link is considered invalid due to a length constraint if it forces the two contigs to overlap. In other words, if we assume the largest possible size for the insert corresponding to the link, if the coordinates of the mate-pair within the contigs force the contigs to overlap, we discard the link assuming it is due to a misassembly (Note: this behaviour can be specified on a link-by-link basis). Links that pass this test are further checked for consistency. If they do not all agree in the relative orientations of the contigs they imply, a majority rule is used to retain only those links that agree both in orientation and length. Furthermore, the bundle, or edge, is retained if it contains at least two links (this parameter, redundancy, can actually be tuned by the user). After this step is complete, the resulting graph gets traversed twice, once to assign consistent orientations to all the contigs, and the second time to determine the order of the contigs along the chromosome. Note that inconsistencies in order are currently allowed since they can provide finishing teams with useful information. In a future version of BAMBUS we will add an option to allow the generation of unambiguous scaffolds as well. Currently you can generate such unambiguous scaffolds using the [[#Untangling scaffolds|untangle]] program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
* Install AMOS&lt;br /&gt;
* Perl 5.6 or later&lt;br /&gt;
* [http://www.cpan.org/ XML::Parser] perl module&lt;br /&gt;
* [http://www.cpan.org/ Config::IniFiles] perl module&lt;br /&gt;
* [http://www.research.att.com/sw/tools/graphviz/ GraphViz] package&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Obtaining BAMBUS ===&lt;br /&gt;
&lt;br /&gt;
BAMBUS 2.3 is available free of charge under the open-source Artistic License.&lt;br /&gt;
&lt;br /&gt;
The Bambus source if freely available for download from the File Release Section of our SourceForge project page.&lt;br /&gt;
&lt;br /&gt;
To receive information regarding new releases and developments, please subscribe to our moderated, low-traffic users&amp;#039; mailing list:&lt;br /&gt;
&lt;br /&gt;
 amos-users(at)lists(dot)sourceforge(dot)net&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Actual installation ===&lt;br /&gt;
&lt;br /&gt;
1. Find a directory where you want the software installed. For example /users/home/CoolUser&lt;br /&gt;
&lt;br /&gt;
2. Place the tar file bambus-2.33.tar.gz in this directory&lt;br /&gt;
&lt;br /&gt;
3. Unpack the distribution&lt;br /&gt;
 % tar xvzf bambus-2.33.tar.gz&lt;br /&gt;
&lt;br /&gt;
4. Go into the newly created directory&lt;br /&gt;
 % cd bambus-2.33&lt;br /&gt;
&lt;br /&gt;
5. Carefully read the documentation&lt;br /&gt;
&lt;br /&gt;
6. Edit the file Makefile and change the value of BASEDIR to the correct installation path, for example:&lt;br /&gt;
 BASEDIR = /users/home/CoolUser&lt;br /&gt;
&lt;br /&gt;
7. Also check if the path for perl (in variable PERL) matches the one on your system. Several common options are:&lt;br /&gt;
 PERL = /usr/local/bin/perl&lt;br /&gt;
 PERL = /usr/bin/perl&lt;br /&gt;
&lt;br /&gt;
8. Type &amp;#039;gmake install&amp;#039; to have all the software installed. The executables will be in /users/home/CoolUser/bin/ and the documentation in /users/home/CoolUser/doc.&lt;br /&gt;
&lt;br /&gt;
9. To get started you can try out the small test dataset provided in data/test_run by typing:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -m test.mates -o test-bambus&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Running BAMBUS ==&lt;br /&gt;
&lt;br /&gt;
The input to Bambus consists in a set of links between contigs. These links can be inferred from the pairing of reads belonging to the same insert, from physical map data, or from alignment to another genome. To accomodate these types of sources of linking information, and to allow for further extensions, the input to Bambus is presented in a general purpose XML format. &lt;br /&gt;
&lt;br /&gt;
The following sections describe how the XML file can be generated for each type of linking data. For more information see [[#.evidence.xml|.evidence.xml]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Linking information is grouped into &amp;quot;libraries&amp;quot;. All links within a library have similar parameters. In the case of mate-pair linking information the libraries match the standard definition. For other linking data, for example MUMmer links, the library grouping reflects specific characteristics of the linking data. For example all MUMmer links are grouped within a library called &amp;quot;MUMmer&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Command line options ===&lt;br /&gt;
&lt;br /&gt;
Bambus consists in a collection of programs controlled by a script called goBambus. The execution is controlled by the following sets of parameters. To obtain a list of all parameters and basic help information you need to type:&lt;br /&gt;
&lt;br /&gt;
 goBambus -h&lt;br /&gt;
or&lt;br /&gt;
 goBambus -help&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Configuration options ====&lt;br /&gt;
&lt;br /&gt;
* -C &amp;lt;conf_file&amp;gt; . This parameter specifies the configuration file used by Bambus. A configuration file is not required, however it is useful if you want to change the default parameters. See [[#The configuration file|the configuration file]] for a detailed description of the configuration information.&lt;br /&gt;
&lt;br /&gt;
Whenever you run Bambus it will generate a default configuration file called default.conf. If you want to modify the parameters, you will need to rename this file and then edit it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Input Options ====&lt;br /&gt;
&lt;br /&gt;
* -a &amp;lt;asm_file&amp;gt; . Use a TIGR Assembler .asm file as source of linking information.&lt;br /&gt;
* -c &amp;lt;contig_file&amp;gt; . Use a GDE formatted .contig assembly file as source of linking information. The .contig files can be obtained either from TIGR Assembler output (by concatenating the contents of the .align directory) or by converting .ace files (created by phrap or Consed) using the [[ace2contig]] package.&lt;br /&gt;
* -x &amp;lt;xml_file&amp;gt;. Use additional XML formatted linking information. You can use the -x option multiple times. See [[#.evidence.xml|.evidence.xml]] for the XML file format.&lt;br /&gt;
* -mx &amp;lt;make_file&amp;gt;. Use a gmake compatible make file to specify how the additional XML information is generated. Each of the files created must end in &amp;quot;.xml&amp;quot;. Moreover, only the final XML targets are allowed to end in &amp;quot;.xml&amp;quot; to prevent goBambus from getting confused. See [[#Using Makefiles|using Makefiles]] for a more detailed description on using makefiles.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Mate-pair Information ====&lt;br /&gt;
&lt;br /&gt;
Assembly output (such as .asm and .contig files) does not generally contain any information about the pairing of reads coming from opposite ends of the same insert, nor about the membership of inserts to libraries. The following parameters specify how to obtain this mate-pair information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* -m &amp;lt;mates_file&amp;gt; . The mates file allows you to specify both library information and mate pairing information, using a system based on Perl regular expressions. See [[#The .mates file|the .mates file]].&lt;br /&gt;
* -D &amp;lt;database&amp;gt; . At TIGR, instead of a mates file you can opt to use a database to obtain library and mate information. Note that the -m and -D options are complementary. The following three parameters specify database options:&lt;br /&gt;
* -S &amp;lt;server&amp;gt; . Select a specific database server&lt;br /&gt;
* -U &amp;lt;user&amp;gt; . Log in with the specified user name&lt;br /&gt;
* -P &amp;lt;passwd&amp;gt; . Log in with the specified password&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Output Options ====&lt;br /&gt;
&lt;br /&gt;
* -o &amp;lt;output_prefix&amp;gt; . All the output file names will be generated from the &amp;lt;output_prefix&amp;gt; prefix.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Repeat Screening ====&lt;br /&gt;
&lt;br /&gt;
Misassembled repeats can confuse Bambus, therefore it makes sense to screen the known repeats that may be misassembled. Bambus can use two types of repeat screening information:&lt;br /&gt;
&lt;br /&gt;
* -r . Screen against the repeats listed in the database (option -D must be provided)&lt;br /&gt;
* -r &amp;lt;repfile&amp;gt; . Screen against repeats described in [[#Repeat files|repeat files]]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Flow-control ====&lt;br /&gt;
&lt;br /&gt;
* -start &amp;lt;num&amp;gt;&lt;br /&gt;
* -end &amp;lt;num&amp;gt;. The execution of Bambus consists in a set of steps. The user can choose to start or end at a specific step for example in the case when she modifies the configuration file and wants to re-run just the final steps of the scaffolders. This feature should be used with caution.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Typical use cases ===&lt;br /&gt;
==== Using assembler output ====&lt;br /&gt;
&lt;br /&gt;
For convenience, Bambus can use the output of an assembly program and automatically generate the required linking information. Two types of information are required:&lt;br /&gt;
&lt;br /&gt;
* the tiling of reads in the assembly&lt;br /&gt;
* information about the pairing of reads&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The first type of information can be obtained from the .asm or .contig output formats of TIGR Assembler. For more information about these file formats please refer to the [http://www.jcvi.org/cms/publications/listing/abstract/article/tigr-assembler-a-new-tool-for-assembling-large-shotgun-sequencing-projects/ TIGR Assembler documentation]. Note that the .contig file may be stripped of all sequence data as the only information used is that contained in the lines starting with #. In case you are using an assembler other than TIGR Assembler you may need to use the ta2ace package to convert the output into the .contig format.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The second type of information can be obtained from a [[#The .mates file|.mates file]], or from the database in case you are at TIGR.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A typical command line for someone outside of TIGR is:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -m test.mates -o test&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and the execution will generate the following files:&lt;br /&gt;
&lt;br /&gt;
* [[#.stats file|test.stats]] - statistics on scaffolds and libraries &lt;br /&gt;
* [[#.details file|test.details]] - detailed information about each contig pair (also called &amp;quot;gap&amp;quot;). &lt;br /&gt;
* [[#.dot file|test.dot]] - GraphViz formatted description of the contig linkage information.&lt;br /&gt;
* [[#.evidence.xml|test.evidence.xml]] - XML representation of all the linking evidence provided.&lt;br /&gt;
* [[#.out.xml|test.out.xml]] - XML representation of the scaffolds.&lt;br /&gt;
* [[#.lib file|test.lib]] - list of the codes associated with each input library. These codes are reported on the links in the output file. &amp;lt;!-- The link here looks wrong! --&amp;gt;&lt;br /&gt;
* [[#.sum file|test.sum]] - one-line sumaries of all scaffolds.&lt;br /&gt;
* [[#.oo file|test.oo]] - order and orientation information for all the contigs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Additionally, the program generates some &amp;quot;working&amp;quot; files that are currently not removed as they provide useful debugging information.&lt;br /&gt;
&lt;br /&gt;
* test.detective.xml - linking information derived from assembler input alone. It&amp;#039;s the same as test.evidence.xml unless additional XML files are provided in the input.&lt;br /&gt;
* test.inp - input to the core scaffolding engine.&lt;br /&gt;
* test.grommit.conf - configuration information for the scaffolding engine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To view the graphical output you need to convert it to Postscript with the command:&lt;br /&gt;
&lt;br /&gt;
 dot -Tps -o test.ps test.dot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then you can view the postscript file with the command:&lt;br /&gt;
&lt;br /&gt;
 gv test.ps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
At TIGR, instead of specifying a .mates file you can use the database:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -D gbx -U access -P access -o test&lt;br /&gt;
&lt;br /&gt;
==== Getting more (or less) information from the output ====&lt;br /&gt;
&lt;br /&gt;
You can modify the information you get in the output by directly calling the [[Bambus/printScaff|printScaff]] command.&lt;br /&gt;
&lt;br /&gt;
==== Adding additional XML linking information ====&lt;br /&gt;
&lt;br /&gt;
You can easily add additional linking information as long as it&amp;#039;s in a format similar to the [[#.evidence.xml file|.evidence.xml file]]. Assuming we have two such files &amp;quot;link1.xml&amp;quot; and &amp;quot;link2.xml&amp;quot; you can call Bambus as follows:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -m test.mates -x link1.xml -x link2.xml -o test&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The result being the same as if you concatenated the XML file inferred from the .contig file together with the two additional XML files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Using MUMmer links ====&lt;br /&gt;
&lt;br /&gt;
In case you are sequencing a genome for which a close relative has been completed, you can use [[MUMmer]] to infer links between contigs. Assume you have the reference genome in a file &amp;quot;ref.fasta&amp;quot; and all the contigs from the genome you are assembling in a file called &amp;quot;test.fasta&amp;quot;, you can run MUMmer to align the test genome to the reference:&lt;br /&gt;
&lt;br /&gt;
 nucmer -maxmatch ref.fasta test.fasta&lt;br /&gt;
&lt;br /&gt;
The output will be placed in a file called out.delta. You can then convert the alignment information into an XML file suitable for Bambus as follows:&lt;br /&gt;
&lt;br /&gt;
 show-tiling -x out.delta &amp;gt; test.mum.xml&lt;br /&gt;
&lt;br /&gt;
And finally you can provide this information to Bambus:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -m test.mates -x test.mum.xml -o test&lt;br /&gt;
&lt;br /&gt;
==== Using Makefiles ====&lt;br /&gt;
&lt;br /&gt;
If you have multiple XML files, it becomes tedious to generate each file separately and then provide them to Bambus with multiple -x options. You can create a Makefile compatible with GNU make that generates each of the XML files. You must be careful that the targets for all the XML files end in &amp;quot;.xml&amp;quot;, and no other targets (such as intermediate targets) have the same suffix. Bambus will assume that all .xml files produced by the Makefile must be added to the input.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An example of a simple Makefile that can generate the mummer information described above is:&lt;br /&gt;
&lt;br /&gt;
 test.mum.xml: ref.fasta test.fasta&lt;br /&gt;
 nucmer -a max-match ref.fasta test.fasta&lt;br /&gt;
 show-tiling -x out.delta &amp;gt; test.mum.xml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Untangling scaffolds ====&lt;br /&gt;
&lt;br /&gt;
By default, the scaffolds resulting from Bambus are potentially ambiguous as two or more contigs may occupy the same place in the genome. Such situations occur either due to misassembled repeats, or when assembling different haplotypes. Bambus contains a utility that does a best effort attempt to disambiguate the scaffolds, by breaking them into a set of non-ambiguous scaffolds. The algorithm is greedy and does not guarantee that an optimal solution (e.g. a minimum number of longest scaffolds) is produced.&lt;br /&gt;
&lt;br /&gt;
To run the untangler type:&lt;br /&gt;
&lt;br /&gt;
 untangle -e test.evidence.xml -s test.out.xml -o test.untangle.xml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The test.untangle.xml file has the same format as the output file ([[#.out.xml|.out.xml]]) and for each scaffold (e.g. scaff_1) contains one or more unambiguous scaffolds called &amp;quot;scaff_1_1, scaff_1_2, etc&amp;quot;. You can use the [[printScaff]] command to process the untangled file the same way you would process a normal Bambus output.&lt;br /&gt;
&lt;br /&gt;
== File formats ==&lt;br /&gt;
&lt;br /&gt;
=== The configuration file ===&lt;br /&gt;
&lt;br /&gt;
Scaffolding parameters can be specified in a configuration file. Whenever you run Bambus a default configuration file is generated as default.conf. To create your own file you should rename this file then edit it. The following types of information can be specified:&lt;br /&gt;
&lt;br /&gt;
* Comments. Lines starting with # are considered comments and are ignored by the software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Priority information. Specifies an order in which the libraries are considered. For example, the following line specifies priority 2 for all MUMmer links. The libraries are considered in the increasing order of priorities.&lt;br /&gt;
&lt;br /&gt;
      priority MUMmer 2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If no configuration file is provided, all libraries are assumed to have the same priority. If a configuration file is provided, only those libraries that have a priority record are used in scaffolding. In other words, if a library has no priority record associated with it, it will not be used in scaffolding.&lt;br /&gt;
&lt;br /&gt;
A priority can also be specified for a specific redundancy parameter. For example, the following line specifies that those links between contigs supported by 4 or more sources of linking data should be processed at priority level 1. &lt;br /&gt;
&lt;br /&gt;
      priority redundancy 4 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note, however, that you need to also specify a set of libraries to be used at this priority level. A simple shortcut is specifying that all link classes should be processed at this redundancy.&lt;br /&gt;
&lt;br /&gt;
      priority ALL 1&lt;br /&gt;
      &lt;br /&gt;
&lt;br /&gt;
If you are uncertain of which libraries your project uses, run Bambus without a configuration file. The libraries will be listed in a file ending in &amp;quot;[[#.lib file|.libs]]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Redundancy information. Specifies the minimum number of links required for a valid inter-contig link. You can specify this parameter as a global value:&lt;br /&gt;
&lt;br /&gt;
   redundancy 2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
that is, all contigs must be linked by at least two links. You can also specify a per-library value like below which says a single MUMmer link is required to link two contigs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   redundancy MUMmer 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Minimum scaffold size. Specifies a scaffold size cutoff. For example thisimplies that only scaffolds that contain more than 10kbp are present in the output.:&lt;br /&gt;
&lt;br /&gt;
      mingroupsize 10000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Link size error. For some link types, determining the exact link length can only be done within a certain error. This parameter specifies, as a percentage, the estimated error in size determination. For example, since MUMmer links make an assumption of evolutionary closeness between two genomes, the error associated with them should be proportional to the estimated evolutionary distance (as nucleotide % similarity) between the two genomes. For an error of 5% use this parameter: &lt;br /&gt;
&lt;br /&gt;
      error MUMmer 0.05&lt;br /&gt;
  &lt;br /&gt;
* Overlapping contigs allowed. For each library you can control the link validation process by specifying whether adjacent contigs are allowed to overlap or not. By default mate-pair links assume adjacent contigs do not overlap, while MUMmer links allow contigs to overlap. This is equivalent to the configuration parameters:&lt;br /&gt;
  &lt;br /&gt;
      overlaps lib_1 N&lt;br /&gt;
      overlaps MUMmer Y&lt;br /&gt;
&lt;br /&gt;
An example is provided in [[bambus.conf|data/sample_files/bambus.conf]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== The .mates file ===&lt;br /&gt;
&lt;br /&gt;
The .mates file provides two types of information: library data, and mate-pair relationships between reads.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Library data can be described in two formats:&lt;br /&gt;
 library	&amp;lt;name&amp;gt;	&amp;lt;min_size&amp;gt;	&amp;lt;max_size&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and&lt;br /&gt;
 library	&amp;lt;name&amp;gt;	&amp;lt;min_size&amp;gt;	&amp;lt;max_size&amp;gt;	&amp;lt;regexp&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Both formats require you to name each library and to provide a size range for the inserts belonging to it. The second format allows you to also provide a Perl regular expression that describes the naming convention for reads belonging to the library. The part of the sequence name that represents the library name must be placed within parentheses. As an example, the regular expression for TIGR sequences (where the library is specified by the first 4 characters) is:&lt;br /&gt;
 (....).*&lt;br /&gt;
&lt;br /&gt;
Mate-pair relationships can also be described in two ways:&lt;br /&gt;
 pair	&amp;lt;regexp_forw&amp;gt;	&amp;lt;regexp_rev&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
 &amp;lt;seq_forw_1&amp;gt;	&amp;lt;seq_rev_1&amp;gt;	&amp;lt;library_name&amp;gt;&lt;br /&gt;
 &amp;lt;seq_forw_2&amp;gt;	&amp;lt;seq_rev_2&amp;gt;	&amp;lt;library_name&amp;gt;&lt;br /&gt;
 &amp;lt;seq_forw_3&amp;gt;	&amp;lt;seq_rev_3&amp;gt;	&amp;lt;library_name&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
The first format requires two regular expressions corresponding to the forward and reverse mates of an insert. Just like the library record, the portion of the name corresponding to the insert name must be placed within parentheses. Two reads that match the two regular expressions, and have the exact same section matched within the parentheses will be considered mates. The library will be determined from the regular expression associated with a &amp;quot;library&amp;quot; record. As an example, at TIGR the first 7 characters represent the insert, then are followed by an optional T or P and the primer name (F or R for Forward or Reverse). The corresponding regular expression is:&lt;br /&gt;
 pair	(.......)[TP]?F	(.......)[TP]?R&lt;br /&gt;
&lt;br /&gt;
The second format is simply a list of sequence name pairs each followed by the name of the library they belong to. The corresponding library records must be listed in the file before the pairing data.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note that fields in the .mates file must be separated by TAB characters otherwise the program will report an error.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
An example of a .mates file using the phred/phrap naming convention is provided in [[bambus.mates|data/sample_files/bambus.mates]].&lt;br /&gt;
&lt;br /&gt;
=== Repeat files ===&lt;br /&gt;
&lt;br /&gt;
The repeat files used in screening linking data conform to the output standards of the repeatFinder program. The file contains 5 TAB-delimited values: contig ID, repeat name, left and right coordinates within the contig, and contig class. Only the first 4 values are essential as far as Bambus is concerned. Here is an example of repeat records:&lt;br /&gt;
&lt;br /&gt;
 AC009139.7.3 RPT1A 14554 96820 1&lt;br /&gt;
 AC026498.3.2 RPT1B 124208 206475 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .evidence.xml ===&lt;br /&gt;
&lt;br /&gt;
This provides an XML representation of the input file. Below is a description of the data presented in this file (see also an [[bambus.evidence.xml|example]]):&lt;br /&gt;
&lt;br /&gt;
The overall flow of the XML file is:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;EVIDENCE&amp;gt;&lt;br /&gt;
   &amp;lt;LIBRARY&amp;gt;&lt;br /&gt;
    &amp;lt;INSERT&amp;gt;&lt;br /&gt;
      &amp;lt;SEQUENCE/&amp;gt;&lt;br /&gt;
      &amp;lt;SEQUENCE/&amp;gt;&lt;br /&gt;
    &amp;lt;/INSERT&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
  &amp;lt;/LIBRARY&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;CONTIG&amp;gt;&lt;br /&gt;
    &amp;lt;SEQUENCE/&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
  &amp;lt;/CONTIG&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;LINK&amp;gt;&lt;br /&gt;
    &amp;lt;CONTIG/&amp;gt;&lt;br /&gt;
    &amp;lt;CONTIG/&amp;gt;&lt;br /&gt;
  &amp;lt;/LINK&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &amp;lt;/EVIDENCE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;EVIDENCE                        this is the parent tag - the whole document occurs within &amp;lt;EVIDENCE&amp;gt; and &amp;lt;/EVIDENCE&amp;gt;&lt;br /&gt;
  ID = &amp;quot;1&amp;quot;                        some identifier for the file&lt;br /&gt;
  DATE = &amp;quot;12/15/03&amp;quot;               date when file was created&lt;br /&gt;
  PROJECT = &amp;quot;MyProject&amp;quot;           verbose description of the project&lt;br /&gt;
  PARAMETERS = &amp;quot;&amp;quot;                 parameters used in creating this file&lt;br /&gt;
 &amp;gt;&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;LIBRARY                         for each shotgun library you need a separate library tag.&lt;br /&gt;
  ID = &amp;quot;lib_1&amp;quot;                    some identifier for the library&lt;br /&gt;
  NAME = &amp;quot;short&amp;quot;                  verbose name for the library&lt;br /&gt;
  MIN = &amp;quot;1200&amp;quot;                    minimum size of inserts in this library&lt;br /&gt;
  MAX = &amp;quot;3500&amp;quot;                    maximum size of inserts in this library&lt;br /&gt;
 &amp;gt;&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;INSERT                          the insert concept links together the two reads obtained from opposite ends of a clone insert&lt;br /&gt;
  ID=&amp;quot;ins_1&amp;quot;                      generic identifier for the insert&lt;br /&gt;
  NAME=&amp;quot;GALBZ92&amp;quot;                  verbose name for the insert&lt;br /&gt;
 &amp;gt; 	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SEQUENCE                        each insert contains two sequence reads obtained from to the opposite ends&lt;br /&gt;
  ID=&amp;quot;seq_1&amp;quot;                      generic identifier for the sequence&lt;br /&gt;
  NAME=&amp;quot;GALBZ92TF&amp;quot;                verbose name for the sequence&lt;br /&gt;
 &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;CONTIG                          Each contig in the assembly needs to be represented in the file&lt;br /&gt;
  ID=&amp;quot;contig_1&amp;quot;                   contig identifier&lt;br /&gt;
  NAME= &amp;quot;1&amp;quot;                       contig name (usually the same as the identifier)&lt;br /&gt;
  LEN=&amp;quot;12352&amp;quot;                     contig length in basepairs&lt;br /&gt;
 &amp;gt; 	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SEQUENCE                        each sequence in the contig is listed together with information about the position within the contig.&lt;br /&gt;
  ID=&amp;quot;seq_1&amp;quot;                      sequence identifier (must match one described in the library section)&lt;br /&gt;
  ORI=&amp;quot;BE&amp;quot;                        orientation of sequence: BE - forward, EB - reverse&lt;br /&gt;
  ASM_LEND=&amp;quot;0&amp;quot;                    coordinate of sequence&amp;#039;s left end within the contig&lt;br /&gt;
  ASM_REND=&amp;quot;525&amp;quot;                  coordinate of sequence&amp;#039;s right end within the contig&lt;br /&gt;
 &amp;gt; 	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;LINK                            this is a generic link between two contigs (i.e. not inferred from mate-pair data)&lt;br /&gt;
  ID = &amp;quot;link_1&amp;quot;                   link identifier&lt;br /&gt;
  SIZE = &amp;quot;-800&amp;quot;                   size of gap between the two contigs&lt;br /&gt;
  TYPE = &amp;quot;MUMmer&amp;quot;                 link type: links with the same type get grouped into a virtual &amp;quot;library&amp;quot; used in specifying priorities&lt;br /&gt;
 &amp;gt; 	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;CONTIG                          each link contains two contigs&lt;br /&gt;
  ID = &amp;quot;contig_1&amp;quot;                 contig identifier: must match one described in the contig section above&lt;br /&gt;
  ORI = &amp;quot;EB&amp;quot;                      contig orientation: BE - forward, EB - reverse&lt;br /&gt;
 &amp;gt; 	                          each contig record may contain free-form data specifying the evidence for linking: e.g. alignment data&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
=== .out.xml ===&lt;br /&gt;
&lt;br /&gt;
Represents, together with the evidence file, a description of the layout of the contigs. For each scaffold, the order (given as a coordinate along a chromosome) and the orientation of each contig is presented, together with a list of all the links used to generate this layout. Some links are deemed invalid, being given a code of &amp;quot;LEN&amp;quot; in case the length was deemed incorrect, or &amp;quot;ORI&amp;quot; in case the link orientation was considered incorrect. This file is also specified by the [[bambus.dtd|DTD]] and an example ([[bambus.out.xml|data/sample_files/bambus.out.xml]]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .stats file ===&lt;br /&gt;
&lt;br /&gt;
Finally, BAMBUS outputs a summary of the scaffolds generated. This file is pretty much self-explanatory, as evidenced by this example ([[bambus.stats|data/sample_files/bambus.stats]]). Note that in the .stats file, the N50 sizes are computed with respect to the total span of the scaffolds unless a different genome size is specified in a file called genome.size.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .details file ===&lt;br /&gt;
&lt;br /&gt;
The .details file contains detailed information about the linking information between adjacent contigs. The contigs&amp;#039; orientation, size, and coordinates are listed and then all the linking data grouped by validity and library. An example is provided in [[bambus.details|data/sample_files/bambus.details]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .dot file ===&lt;br /&gt;
&lt;br /&gt;
Represents a graphical representation of the scaffolds in GraphViz format. Please see the [http://www.research.att.com/sw/tools/graphviz/ AT&amp;amp;T GraphViz] website for more information on this file format.&lt;br /&gt;
&lt;br /&gt;
=== .lib file ===&lt;br /&gt;
Lists the libraries and their internal ID&amp;#039;s&lt;br /&gt;
&lt;br /&gt;
=== .ps file ===&lt;br /&gt;
&lt;br /&gt;
A postscript image generated from the GraphViz-formatted file. It can be obtained from the .dot file with the command:&lt;br /&gt;
 dot -Tps -o prefix.ps prefix.dot&lt;br /&gt;
&lt;br /&gt;
An example is given in the picture below.&lt;br /&gt;
[[Image:bambus-display.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Each scaffold is placed in a box, labeled with some statistics on the scaffold size (number of contigs, number of bases and span). All the &amp;quot;gaps&amp;quot; - linking relationships between the contigs are represented as edges. Each edge is decorated with the number of links contributing to it, the number of links from each library type, and the number of links invalidated due to incorrect length (L) or orientation (O). Each contig&amp;#039;s ID, size, and coordinates within the scaffold are also listed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .oo file ===&lt;br /&gt;
&lt;br /&gt;
This file contains a summary of the order and orientation of all contigs present in the data. Each scaffold starts with a FASTA-like header containing the identifier for the scaffold followed by the number of contigs, size and span. Within each scaffold, all contigs are listed in the scaffold order, followed by the string BE for those in the forward orientation and EB for those in the reverse orientation. An example file is shown in: [[bambus.oo|data/sample_files/bambus.oo]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .sum file ===&lt;br /&gt;
&lt;br /&gt;
This file contains one line for each scaffold. Each line contains the scaffold ID, number of contigs, scaffold size, and span. The four values are separated by TAB characters. See an example in [[bambus.sum|data/sample_files/bambus.sum]].&lt;br /&gt;
&lt;br /&gt;
== Known problems ==&lt;br /&gt;
There is a small &amp;quot;off-by-one&amp;quot; error in computing contig coordinates. It should not really affect the usefulness of the output.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Contact information ==&lt;br /&gt;
&lt;br /&gt;
BAMBUS is currently provided AS-IS, in other words we do not provide any support for the software. We would, however, like to hear your comments and suggestions.  For Bambus bug reports, support requests, or any other inquiries please browse our SourceForge project page or Email us at:&lt;br /&gt;
&lt;br /&gt;
  amos-help (at) lists (dot) sourceforge (dot) net&lt;br /&gt;
&lt;br /&gt;
BAMBUS was written by Mihai Pop and Dan Kosack.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Bambus]]&lt;/div&gt;</summary>
		<author><name>Dmb000006</name></author>	</entry>

	<entry>
		<id>http://amos.sourceforge.net/wiki/index.php/Category:Bambus</id>
		<title>Category:Bambus</title>
		<link rel="alternate" type="text/html" href="http://amos.sourceforge.net/wiki/index.php/Category:Bambus"/>
				<updated>2011-01-07T15:01:19Z</updated>
		
		<summary type="html">&lt;p&gt;Dmb000006: Created page with &amp;#039;Pages about Bambus&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Pages about [[Bambus]]&lt;/div&gt;</summary>
		<author><name>Dmb000006</name></author>	</entry>

	<entry>
		<id>http://amos.sourceforge.net/wiki/index.php/Bambus</id>
		<title>Bambus</title>
		<link rel="alternate" type="text/html" href="http://amos.sourceforge.net/wiki/index.php/Bambus"/>
				<updated>2011-01-07T15:00:57Z</updated>
		
		<summary type="html">&lt;p&gt;Dmb000006: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
 | __TOC__&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{| align=&amp;quot;left&amp;quot;&lt;br /&gt;
 | [[Image:BambusLogo.jpg]]&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Bambus is the first general purpose scaffolder that is publicly available as an open source package. While most other scaffolders are closely tied to a specific assembly program, Bambus accepts the output from most current assemblers and provides the user with great flexibility in choosing the scaffolding parameters. In particular, Bambus is able to accept contig linking data other than specified by mate-pairs. Such sources of information include alignment to a reference genome (Bambus can directly use the output of MUMmer), physical mapping data, or information about gene synteny.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: Bambus is undergoing a transition in order to be integrated with the AMOS package.  Please stay tuned for a new and improved release!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
The distribution includes detailed documentation of all the file formats used. Also see the [[Bambus Manual]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In addition to the simple test data provided in the source package you can download a more complex example from: &lt;br /&gt;
[ftp://ftp.cbcb.umd.edu/pub/data/assembly/bambus-data.tar.gz ftp://ftp.cbcb.umd.edu/pub/data/assembly/bambus-data.tar.gz].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Publication ==&lt;br /&gt;
&amp;quot;Hierarchical scaffolding with Bambus.&amp;quot; Pop M, Kosack DS, Salzberg SL, Genome Research, 2004. 14(1):149-59.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Acknowledgements ==&lt;br /&gt;
The development of BAMBUS was supported by the National Science Foundation under grant KDI-9980088.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Bambus]]&lt;/div&gt;</summary>
		<author><name>Dmb000006</name></author>	</entry>

	<entry>
		<id>http://amos.sourceforge.net/wiki/index.php/Bambus_Manual</id>
		<title>Bambus Manual</title>
		<link rel="alternate" type="text/html" href="http://amos.sourceforge.net/wiki/index.php/Bambus_Manual"/>
				<updated>2011-01-07T14:58:00Z</updated>
		
		<summary type="html">&lt;p&gt;Dmb000006: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
 | __TOC__&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The output of most shotgun sequence assembly programs (such as TIGR Assembler, phrap, or CAP3) consists in a set of un-related contigs, whose order and orientation along the chromosome is unknown. Scaffolding represents the task of ordering and orienting these contigs by using additional information about their relative placement. Traditionally such information was identified from the pairing of reads from the opposite ends of an insert in double-barelled shotgun experiments (see figure).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:scaffold image.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Besides clone mate information, homology data, physical maps, or gene synteny information can be used to derive relationships between contigs. BAMBUS is a program written to handle all such types of data in a generic fashion in order to build contig scaffolds. In order to account for the varied quality of linking information BAMBUS allows the user to specify a hierarchy that will consider the most reliable linking data first, then expand the scaffolds using less reliable data. This approach minimizes the effect of errors inherent to experimentally-derived linking information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Algorithm overview ===&lt;br /&gt;
&lt;br /&gt;
BAMBUS has two main modes of operation: hierarchical - when the links are considered in the order of their priorities, and standard - when all the links are considered at the same priority level. In the latter case, all links connecting two contigs are bundled together to form a &amp;quot;gap&amp;quot;, or &amp;quot;edge&amp;quot; if you look at the problem from a graph theoretical point of view. Each link is checked for validity before being added to a bundle. Thus, a link is considered invalid due to a length constraint if it forces the two contigs to overlap. In other words, if we assume the largest possible size for the insert corresponding to the link, if the coordinates of the mate-pair within the contigs force the contigs to overlap, we discard the link assuming it is due to a misassembly (Note: this behaviour can be specified on a link-by-link basis). Links that pass this test are further checked for consistency. If they do not all agree in the relative orientations of the contigs they imply, a majority rule is used to retain only those links that agree both in orientation and length. Furthermore, the bundle, or edge, is retained if it contains at least two links (this parameter, redundancy, can actually be tuned by the user). After this step is complete, the resulting graph gets traversed twice, once to assign consistent orientations to all the contigs, and the second time to determine the order of the contigs along the chromosome. Note that inconsistencies in order are currently allowed since they can provide finishing teams with useful information. In a future version of BAMBUS we will add an option to allow the generation of unambiguous scaffolds as well. Currently you can generate such unambiguous scaffolds using the [[#Untangling scaffolds|untangle]] program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
* Install AMOS&lt;br /&gt;
* Perl 5.6 or later&lt;br /&gt;
* [http://www.cpan.org/ XML::Parser] perl module&lt;br /&gt;
* [http://www.cpan.org/ Config::IniFiles] perl module&lt;br /&gt;
* [http://www.research.att.com/sw/tools/graphviz/ GraphViz] package&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Obtaining BAMBUS ===&lt;br /&gt;
&lt;br /&gt;
BAMBUS 2.3 is available free of charge under the open-source Artistic License.&lt;br /&gt;
&lt;br /&gt;
The Bambus source if freely available for download from the File Release Section of our SourceForge project page.&lt;br /&gt;
&lt;br /&gt;
To receive information regarding new releases and developments, please subscribe to our moderated, low-traffic users&amp;#039; mailing list:&lt;br /&gt;
&lt;br /&gt;
 amos-users(at)lists(dot)sourceforge(dot)net&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Actual installation ===&lt;br /&gt;
&lt;br /&gt;
1. Find a directory where you want the software installed. For example /users/home/CoolUser&lt;br /&gt;
&lt;br /&gt;
2. Place the tar file bambus-2.33.tar.gz in this directory&lt;br /&gt;
&lt;br /&gt;
3. Unpack the distribution&lt;br /&gt;
 % tar xvzf bambus-2.33.tar.gz&lt;br /&gt;
&lt;br /&gt;
4. Go into the newly created directory&lt;br /&gt;
 % cd bambus-2.33&lt;br /&gt;
&lt;br /&gt;
5. Carefully read the documentation&lt;br /&gt;
&lt;br /&gt;
6. Edit the file Makefile and change the value of BASEDIR to the correct installation path, for example:&lt;br /&gt;
 BASEDIR = /users/home/CoolUser&lt;br /&gt;
&lt;br /&gt;
7. Also check if the path for perl (in variable PERL) matches the one on your system. Several common options are:&lt;br /&gt;
 PERL = /usr/local/bin/perl&lt;br /&gt;
 PERL = /usr/bin/perl&lt;br /&gt;
&lt;br /&gt;
8. Type &amp;#039;gmake install&amp;#039; to have all the software installed. The executables will be in /users/home/CoolUser/bin/ and the documentation in /users/home/CoolUser/doc.&lt;br /&gt;
&lt;br /&gt;
9. To get started you can try out the small test dataset provided in data/test_run by typing:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -m test.mates -o test-bambus&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Running BAMBUS ==&lt;br /&gt;
&lt;br /&gt;
The input to Bambus consists in a set of links between contigs. These links can be inferred from the pairing of reads belonging to the same insert, from physical map data, or from alignment to another genome. To accomodate these types of sources of linking information, and to allow for further extensions, the input to Bambus is presented in a general purpose XML format. &lt;br /&gt;
&lt;br /&gt;
The following sections describe how the XML file can be generated for each type of linking data. For more information see [[#.evidence.xml|.evidence.xml]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Linking information is grouped into &amp;quot;libraries&amp;quot;. All links within a library have similar parameters. In the case of mate-pair linking information the libraries match the standard definition. For other linking data, for example MUMmer links, the library grouping reflects specific characteristics of the linking data. For example all MUMmer links are grouped within a library called &amp;quot;MUMmer&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Command line options ===&lt;br /&gt;
&lt;br /&gt;
Bambus consists in a collection of programs controlled by a script called goBambus. The execution is controlled by the following sets of parameters. To obtain a list of all parameters and basic help information you need to type:&lt;br /&gt;
&lt;br /&gt;
 goBambus -h&lt;br /&gt;
or&lt;br /&gt;
 goBambus -help&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Configuration options ====&lt;br /&gt;
&lt;br /&gt;
* -C &amp;lt;conf_file&amp;gt; . This parameter specifies the configuration file used by Bambus. A configuration file is not required, however it is useful if you want to change the default parameters. See [[#The configuration file|the configuration file]] for a detailed description of the configuration information.&lt;br /&gt;
&lt;br /&gt;
Whenever you run Bambus it will generate a default configuration file called default.conf. If you want to modify the parameters, you will need to rename this file and then edit it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Input Options ====&lt;br /&gt;
&lt;br /&gt;
* -a &amp;lt;asm_file&amp;gt; . Use a TIGR Assembler .asm file as source of linking information.&lt;br /&gt;
* -c &amp;lt;contig_file&amp;gt; . Use a GDE formatted .contig assembly file as source of linking information. The .contig files can be obtained either from TIGR Assembler output (by concatenating the contents of the .align directory) or by converting .ace files (created by phrap or Consed) using the [[ace2contig]] package.&lt;br /&gt;
* -x &amp;lt;xml_file&amp;gt;. Use additional XML formatted linking information. You can use the -x option multiple times. See [[#.evidence.xml|.evidence.xml]] for the XML file format.&lt;br /&gt;
* -mx &amp;lt;make_file&amp;gt;. Use a gmake compatible make file to specify how the additional XML information is generated. Each of the files created must end in &amp;quot;.xml&amp;quot;. Moreover, only the final XML targets are allowed to end in &amp;quot;.xml&amp;quot; to prevent goBambus from getting confused. See [[#Using Makefiles|using Makefiles]] for a more detailed description on using makefiles.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Mate-pair Information ====&lt;br /&gt;
&lt;br /&gt;
Assembly output (such as .asm and .contig files) does not generally contain any information about the pairing of reads coming from opposite ends of the same insert, nor about the membership of inserts to libraries. The following parameters specify how to obtain this mate-pair information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* -m &amp;lt;mates_file&amp;gt; . The mates file allows you to specify both library information and mate pairing information, using a system based on Perl regular expressions. See [[#The .mates file|the .mates file]].&lt;br /&gt;
* -D &amp;lt;database&amp;gt; . At TIGR, instead of a mates file you can opt to use a database to obtain library and mate information. Note that the -m and -D options are complementary. The following three parameters specify database options:&lt;br /&gt;
* -S &amp;lt;server&amp;gt; . Select a specific database server&lt;br /&gt;
* -U &amp;lt;user&amp;gt; . Log in with the specified user name&lt;br /&gt;
* -P &amp;lt;passwd&amp;gt; . Log in with the specified password&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Output Options ====&lt;br /&gt;
&lt;br /&gt;
* -o &amp;lt;output_prefix&amp;gt; . All the output file names will be generated from the &amp;lt;output_prefix&amp;gt; prefix.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Repeat Screening ====&lt;br /&gt;
&lt;br /&gt;
Misassembled repeats can confuse Bambus, therefore it makes sense to screen the known repeats that may be misassembled. Bambus can use two types of repeat screening information:&lt;br /&gt;
&lt;br /&gt;
* -r . Screen against the repeats listed in the database (option -D must be provided)&lt;br /&gt;
* -r &amp;lt;repfile&amp;gt; . Screen against repeats described in [[#Repeat files|repeat files]]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Flow-control ====&lt;br /&gt;
&lt;br /&gt;
* -start &amp;lt;num&amp;gt;&lt;br /&gt;
* -end &amp;lt;num&amp;gt;. The execution of Bambus consists in a set of steps. The user can choose to start or end at a specific step for example in the case when she modifies the configuration file and wants to re-run just the final steps of the scaffolders. This feature should be used with caution.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Typical use cases ===&lt;br /&gt;
==== Using assembler output ====&lt;br /&gt;
&lt;br /&gt;
For convenience, Bambus can use the output of an assembly program and automatically generate the required linking information. Two types of information are required:&lt;br /&gt;
&lt;br /&gt;
* the tiling of reads in the assembly&lt;br /&gt;
* information about the pairing of reads&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The first type of information can be obtained from the .asm or .contig output formats of TIGR Assembler. For more information about these file formats please refer to the [http://www.jcvi.org/cms/publications/listing/abstract/article/tigr-assembler-a-new-tool-for-assembling-large-shotgun-sequencing-projects/ TIGR Assembler documentation]. Note that the .contig file may be stripped of all sequence data as the only information used is that contained in the lines starting with #. In case you are using an assembler other than TIGR Assembler you may need to use the ta2ace package to convert the output into the .contig format.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The second type of information can be obtained from a [[#The .mates file|.mates file]], or from the database in case you are at TIGR.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A typical command line for someone outside of TIGR is:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -m test.mates -o test&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and the execution will generate the following files:&lt;br /&gt;
&lt;br /&gt;
* [[#.stats file|test.stats]] - statistics on scaffolds and libraries &lt;br /&gt;
* [[#.details file|test.details]] - detailed information about each contig pair (also called &amp;quot;gap&amp;quot;). &lt;br /&gt;
* [[#.dot file|test.dot]] - GraphViz formatted description of the contig linkage information.&lt;br /&gt;
* [[#.evidence.xml|test.evidence.xml]] - XML representation of all the linking evidence provided.&lt;br /&gt;
* [[#.out.xml|test.out.xml]] - XML representation of the scaffolds.&lt;br /&gt;
* [[#.lib file|test.lib]] - list of the codes associated with each input library. These codes are reported on the links in the output file. &amp;lt;!-- The link here looks wrong! --&amp;gt;&lt;br /&gt;
* [[#.sum file|test.sum]] - one-line sumaries of all scaffolds.&lt;br /&gt;
* [[#.oo file|test.oo]] - order and orientation information for all the contigs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Additionally, the program generates some &amp;quot;working&amp;quot; files that are currently not removed as they provide useful debugging information.&lt;br /&gt;
&lt;br /&gt;
* test.detective.xml - linking information derived from assembler input alone. It&amp;#039;s the same as test.evidence.xml unless additional XML files are provided in the input.&lt;br /&gt;
* test.inp - input to the core scaffolding engine.&lt;br /&gt;
* test.grommit.conf - configuration information for the scaffolding engine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To view the graphical output you need to convert it to Postscript with the command:&lt;br /&gt;
&lt;br /&gt;
 dot -Tps -o test.ps test.dot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then you can view the postscript file with the command:&lt;br /&gt;
&lt;br /&gt;
 gv test.ps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
At TIGR, instead of specifying a .mates file you can use the database:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -D gbx -U access -P access -o test&lt;br /&gt;
&lt;br /&gt;
==== Getting more (or less) information from the output ====&lt;br /&gt;
&lt;br /&gt;
You can modify the information you get in the output by directly calling the [[Bambus/printScaff|printScaff]] command.&lt;br /&gt;
&lt;br /&gt;
==== Adding additional XML linking information ====&lt;br /&gt;
&lt;br /&gt;
You can easily add additional linking information as long as it&amp;#039;s in a format similar to the [[#.evidence.xml file|.evidence.xml file]]. Assuming we have two such files &amp;quot;link1.xml&amp;quot; and &amp;quot;link2.xml&amp;quot; you can call Bambus as follows:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -m test.mates -x link1.xml -x link2.xml -o test&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The result being the same as if you concatenated the XML file inferred from the .contig file together with the two additional XML files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Using MUMmer links ====&lt;br /&gt;
&lt;br /&gt;
In case you are sequencing a genome for which a close relative has been completed, you can use [[MUMmer]] to infer links between contigs. Assume you have the reference genome in a file &amp;quot;ref.fasta&amp;quot; and all the contigs from the genome you are assembling in a file called &amp;quot;test.fasta&amp;quot;, you can run MUMmer to align the test genome to the reference:&lt;br /&gt;
&lt;br /&gt;
 nucmer -maxmatch ref.fasta test.fasta&lt;br /&gt;
&lt;br /&gt;
The output will be placed in a file called out.delta. You can then convert the alignment information into an XML file suitable for Bambus as follows:&lt;br /&gt;
&lt;br /&gt;
 show-tiling -x out.delta &amp;gt; test.mum.xml&lt;br /&gt;
&lt;br /&gt;
And finally you can provide this information to Bambus:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -m test.mates -x test.mum.xml -o test&lt;br /&gt;
&lt;br /&gt;
==== Using Makefiles ====&lt;br /&gt;
&lt;br /&gt;
If you have multiple XML files, it becomes tedious to generate each file separately and then provide them to Bambus with multiple -x options. You can create a Makefile compatible with GNU make that generates each of the XML files. You must be careful that the targets for all the XML files end in &amp;quot;.xml&amp;quot;, and no other targets (such as intermediate targets) have the same suffix. Bambus will assume that all .xml files produced by the Makefile must be added to the input.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An example of a simple Makefile that can generate the mummer information described above is:&lt;br /&gt;
&lt;br /&gt;
 test.mum.xml: ref.fasta test.fasta&lt;br /&gt;
 nucmer -a max-match ref.fasta test.fasta&lt;br /&gt;
 show-tiling -x out.delta &amp;gt; test.mum.xml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Untangling scaffolds ====&lt;br /&gt;
&lt;br /&gt;
By default, the scaffolds resulting from Bambus are potentially ambiguous as two or more contigs may occupy the same place in the genome. Such situations occur either due to misassembled repeats, or when assembling different haplotypes. Bambus contains a utility that does a best effort attempt to disambiguate the scaffolds, by breaking them into a set of non-ambiguous scaffolds. The algorithm is greedy and does not guarantee that an optimal solution (e.g. a minimum number of longest scaffolds) is produced.&lt;br /&gt;
&lt;br /&gt;
To run the untangler type:&lt;br /&gt;
&lt;br /&gt;
 untangle -e test.evidence.xml -s test.out.xml -o test.untangle.xml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The test.untangle.xml file has the same format as the output file ([[#.out.xml|.out.xml]]) and for each scaffold (e.g. scaff_1) contains one or more unambiguous scaffolds called &amp;quot;scaff_1_1, scaff_1_2, etc&amp;quot;. You can use the [[#Getting more (or less) information from the output|printScaff]] command to process the untangled file the same way you would process a normal Bambus output.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== File formats ==&lt;br /&gt;
&lt;br /&gt;
=== The configuration file ===&lt;br /&gt;
&lt;br /&gt;
Scaffolding parameters can be specified in a configuration file. Whenever you run Bambus a default configuration file is generated as default.conf. To create your own file you should rename this file then edit it. The following types of information can be specified:&lt;br /&gt;
&lt;br /&gt;
* Comments. Lines starting with # are considered comments and are ignored by the software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Priority information. Specifies an order in which the libraries are considered. For example, the following line specifies priority 2 for all MUMmer links. The libraries are considered in the increasing order of priorities.&lt;br /&gt;
&lt;br /&gt;
      priority MUMmer 2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If no configuration file is provided, all libraries are assumed to have the same priority. If a configuration file is provided, only those libraries that have a priority record are used in scaffolding. In other words, if a library has no priority record associated with it, it will not be used in scaffolding.&lt;br /&gt;
&lt;br /&gt;
A priority can also be specified for a specific redundancy parameter. For example, the following line specifies that those links between contigs supported by 4 or more sources of linking data should be processed at priority level 1. &lt;br /&gt;
&lt;br /&gt;
      priority redundancy 4 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note, however, that you need to also specify a set of libraries to be used at this priority level. A simple shortcut is specifying that all link classes should be processed at this redundancy.&lt;br /&gt;
&lt;br /&gt;
      priority ALL 1&lt;br /&gt;
      &lt;br /&gt;
&lt;br /&gt;
If you are uncertain of which libraries your project uses, run Bambus without a configuration file. The libraries will be listed in a file ending in &amp;quot;[[#.lib file|.libs]]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Redundancy information. Specifies the minimum number of links required for a valid inter-contig link. You can specify this parameter as a global value:&lt;br /&gt;
&lt;br /&gt;
   redundancy 2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
that is, all contigs must be linked by at least two links. You can also specify a per-library value like below which says a single MUMmer link is required to link two contigs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   redundancy MUMmer 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Minimum scaffold size. Specifies a scaffold size cutoff. For example thisimplies that only scaffolds that contain more than 10kbp are present in the output.:&lt;br /&gt;
&lt;br /&gt;
      mingroupsize 10000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Link size error. For some link types, determining the exact link length can only be done within a certain error. This parameter specifies, as a percentage, the estimated error in size determination. For example, since MUMmer links make an assumption of evolutionary closeness between two genomes, the error associated with them should be proportional to the estimated evolutionary distance (as nucleotide % similarity) between the two genomes. For an error of 5% use this parameter: &lt;br /&gt;
&lt;br /&gt;
      error MUMmer 0.05&lt;br /&gt;
  &lt;br /&gt;
* Overlapping contigs allowed. For each library you can control the link validation process by specifying whether adjacent contigs are allowed to overlap or not. By default mate-pair links assume adjacent contigs do not overlap, while MUMmer links allow contigs to overlap. This is equivalent to the configuration parameters:&lt;br /&gt;
  &lt;br /&gt;
      overlaps lib_1 N&lt;br /&gt;
      overlaps MUMmer Y&lt;br /&gt;
&lt;br /&gt;
An example is provided in [[bambus.conf|data/sample_files/bambus.conf]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== The .mates file ===&lt;br /&gt;
&lt;br /&gt;
The .mates file provides two types of information: library data, and mate-pair relationships between reads.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Library data can be described in two formats:&lt;br /&gt;
 library	&amp;lt;name&amp;gt;	&amp;lt;min_size&amp;gt;	&amp;lt;max_size&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and&lt;br /&gt;
 library	&amp;lt;name&amp;gt;	&amp;lt;min_size&amp;gt;	&amp;lt;max_size&amp;gt;	&amp;lt;regexp&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Both formats require you to name each library and to provide a size range for the inserts belonging to it. The second format allows you to also provide a Perl regular expression that describes the naming convention for reads belonging to the library. The part of the sequence name that represents the library name must be placed within parentheses. As an example, the regular expression for TIGR sequences (where the library is specified by the first 4 characters) is:&lt;br /&gt;
 (....).*&lt;br /&gt;
&lt;br /&gt;
Mate-pair relationships can also be described in two ways:&lt;br /&gt;
 pair	&amp;lt;regexp_forw&amp;gt;	&amp;lt;regexp_rev&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
 &amp;lt;seq_forw_1&amp;gt;	&amp;lt;seq_rev_1&amp;gt;	&amp;lt;library_name&amp;gt;&lt;br /&gt;
 &amp;lt;seq_forw_2&amp;gt;	&amp;lt;seq_rev_2&amp;gt;	&amp;lt;library_name&amp;gt;&lt;br /&gt;
 &amp;lt;seq_forw_3&amp;gt;	&amp;lt;seq_rev_3&amp;gt;	&amp;lt;library_name&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
The first format requires two regular expressions corresponding to the forward and reverse mates of an insert. Just like the library record, the portion of the name corresponding to the insert name must be placed within parentheses. Two reads that match the two regular expressions, and have the exact same section matched within the parentheses will be considered mates. The library will be determined from the regular expression associated with a &amp;quot;library&amp;quot; record. As an example, at TIGR the first 7 characters represent the insert, then are followed by an optional T or P and the primer name (F or R for Forward or Reverse). The corresponding regular expression is:&lt;br /&gt;
 pair	(.......)[TP]?F	(.......)[TP]?R&lt;br /&gt;
&lt;br /&gt;
The second format is simply a list of sequence name pairs each followed by the name of the library they belong to. The corresponding library records must be listed in the file before the pairing data.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note that fields in the .mates file must be separated by TAB characters otherwise the program will report an error.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
An example of a .mates file using the phred/phrap naming convention is provided in [[bambus.mates|data/sample_files/bambus.mates]].&lt;br /&gt;
&lt;br /&gt;
=== Repeat files ===&lt;br /&gt;
&lt;br /&gt;
The repeat files used in screening linking data conform to the output standards of the repeatFinder program. The file contains 5 TAB-delimited values: contig ID, repeat name, left and right coordinates within the contig, and contig class. Only the first 4 values are essential as far as Bambus is concerned. Here is an example of repeat records:&lt;br /&gt;
&lt;br /&gt;
 AC009139.7.3 RPT1A 14554 96820 1&lt;br /&gt;
 AC026498.3.2 RPT1B 124208 206475 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .evidence.xml ===&lt;br /&gt;
&lt;br /&gt;
This provides an XML representation of the input file. Below is a description of the data presented in this file (see also an [[bambus.evidence.xml|example]]):&lt;br /&gt;
&lt;br /&gt;
The overall flow of the XML file is:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;EVIDENCE&amp;gt;&lt;br /&gt;
   &amp;lt;LIBRARY&amp;gt;&lt;br /&gt;
    &amp;lt;INSERT&amp;gt;&lt;br /&gt;
      &amp;lt;SEQUENCE/&amp;gt;&lt;br /&gt;
      &amp;lt;SEQUENCE/&amp;gt;&lt;br /&gt;
    &amp;lt;/INSERT&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
  &amp;lt;/LIBRARY&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;CONTIG&amp;gt;&lt;br /&gt;
    &amp;lt;SEQUENCE/&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
  &amp;lt;/CONTIG&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;LINK&amp;gt;&lt;br /&gt;
    &amp;lt;CONTIG/&amp;gt;&lt;br /&gt;
    &amp;lt;CONTIG/&amp;gt;&lt;br /&gt;
  &amp;lt;/LINK&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &amp;lt;/EVIDENCE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;EVIDENCE                        this is the parent tag - the whole document occurs within &amp;lt;EVIDENCE&amp;gt; and &amp;lt;/EVIDENCE&amp;gt;&lt;br /&gt;
  ID = &amp;quot;1&amp;quot;                        some identifier for the file&lt;br /&gt;
  DATE = &amp;quot;12/15/03&amp;quot;               date when file was created&lt;br /&gt;
  PROJECT = &amp;quot;MyProject&amp;quot;           verbose description of the project&lt;br /&gt;
  PARAMETERS = &amp;quot;&amp;quot;                 parameters used in creating this file&lt;br /&gt;
 &amp;gt;&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;LIBRARY                         for each shotgun library you need a separate library tag.&lt;br /&gt;
  ID = &amp;quot;lib_1&amp;quot;                    some identifier for the library&lt;br /&gt;
  NAME = &amp;quot;short&amp;quot;                  verbose name for the library&lt;br /&gt;
  MIN = &amp;quot;1200&amp;quot;                    minimum size of inserts in this library&lt;br /&gt;
  MAX = &amp;quot;3500&amp;quot;                    maximum size of inserts in this library&lt;br /&gt;
 &amp;gt;&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;INSERT                          the insert concept links together the two reads obtained from opposite ends of a clone insert&lt;br /&gt;
  ID=&amp;quot;ins_1&amp;quot;                      generic identifier for the insert&lt;br /&gt;
  NAME=&amp;quot;GALBZ92&amp;quot;                  verbose name for the insert&lt;br /&gt;
 &amp;gt; 	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SEQUENCE                        each insert contains two sequence reads obtained from to the opposite ends&lt;br /&gt;
  ID=&amp;quot;seq_1&amp;quot;                      generic identifier for the sequence&lt;br /&gt;
  NAME=&amp;quot;GALBZ92TF&amp;quot;                verbose name for the sequence&lt;br /&gt;
 &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;CONTIG                          Each contig in the assembly needs to be represented in the file&lt;br /&gt;
  ID=&amp;quot;contig_1&amp;quot;                   contig identifier&lt;br /&gt;
  NAME= &amp;quot;1&amp;quot;                       contig name (usually the same as the identifier)&lt;br /&gt;
  LEN=&amp;quot;12352&amp;quot;                     contig length in basepairs&lt;br /&gt;
 &amp;gt; 	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SEQUENCE                        each sequence in the contig is listed together with information about the position within the contig.&lt;br /&gt;
  ID=&amp;quot;seq_1&amp;quot;                      sequence identifier (must match one described in the library section)&lt;br /&gt;
  ORI=&amp;quot;BE&amp;quot;                        orientation of sequence: BE - forward, EB - reverse&lt;br /&gt;
  ASM_LEND=&amp;quot;0&amp;quot;                    coordinate of sequence&amp;#039;s left end within the contig&lt;br /&gt;
  ASM_REND=&amp;quot;525&amp;quot;                  coordinate of sequence&amp;#039;s right end within the contig&lt;br /&gt;
 &amp;gt; 	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;LINK                            this is a generic link between two contigs (i.e. not inferred from mate-pair data)&lt;br /&gt;
  ID = &amp;quot;link_1&amp;quot;                   link identifier&lt;br /&gt;
  SIZE = &amp;quot;-800&amp;quot;                   size of gap between the two contigs&lt;br /&gt;
  TYPE = &amp;quot;MUMmer&amp;quot;                 link type: links with the same type get grouped into a virtual &amp;quot;library&amp;quot; used in specifying priorities&lt;br /&gt;
 &amp;gt; 	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;CONTIG                          each link contains two contigs&lt;br /&gt;
  ID = &amp;quot;contig_1&amp;quot;                 contig identifier: must match one described in the contig section above&lt;br /&gt;
  ORI = &amp;quot;EB&amp;quot;                      contig orientation: BE - forward, EB - reverse&lt;br /&gt;
 &amp;gt; 	                          each contig record may contain free-form data specifying the evidence for linking: e.g. alignment data&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
=== .out.xml ===&lt;br /&gt;
&lt;br /&gt;
Represents, together with the evidence file, a description of the layout of the contigs. For each scaffold, the order (given as a coordinate along a chromosome) and the orientation of each contig is presented, together with a list of all the links used to generate this layout. Some links are deemed invalid, being given a code of &amp;quot;LEN&amp;quot; in case the length was deemed incorrect, or &amp;quot;ORI&amp;quot; in case the link orientation was considered incorrect. This file is also specified by the [[bambus.dtd|DTD]] and an example ([[bambus.out.xml|data/sample_files/bambus.out.xml]]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .stats file ===&lt;br /&gt;
&lt;br /&gt;
Finally, BAMBUS outputs a summary of the scaffolds generated. This file is pretty much self-explanatory, as evidenced by this example ([[bambus.stats|data/sample_files/bambus.stats]]). Note that in the .stats file, the N50 sizes are computed with respect to the total span of the scaffolds unless a different genome size is specified in a file called genome.size.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .details file ===&lt;br /&gt;
&lt;br /&gt;
The .details file contains detailed information about the linking information between adjacent contigs. The contigs&amp;#039; orientation, size, and coordinates are listed and then all the linking data grouped by validity and library. An example is provided in [[bambus.details|data/sample_files/bambus.details]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .dot file ===&lt;br /&gt;
&lt;br /&gt;
Represents a graphical representation of the scaffolds in GraphViz format. Please see the [http://www.research.att.com/sw/tools/graphviz/ AT&amp;amp;T GraphViz] website for more information on this file format.&lt;br /&gt;
&lt;br /&gt;
=== .lib file ===&lt;br /&gt;
Lists the libraries and their internal ID&amp;#039;s&lt;br /&gt;
&lt;br /&gt;
=== .ps file ===&lt;br /&gt;
&lt;br /&gt;
A postscript image generated from the GraphViz-formatted file. It can be obtained from the .dot file with the command:&lt;br /&gt;
 dot -Tps -o prefix.ps prefix.dot&lt;br /&gt;
&lt;br /&gt;
An example is given in the picture below.&lt;br /&gt;
[[Image:bambus-display.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Each scaffold is placed in a box, labeled with some statistics on the scaffold size (number of contigs, number of bases and span). All the &amp;quot;gaps&amp;quot; - linking relationships between the contigs are represented as edges. Each edge is decorated with the number of links contributing to it, the number of links from each library type, and the number of links invalidated due to incorrect length (L) or orientation (O). Each contig&amp;#039;s ID, size, and coordinates within the scaffold are also listed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .oo file ===&lt;br /&gt;
&lt;br /&gt;
This file contains a summary of the order and orientation of all contigs present in the data. Each scaffold starts with a FASTA-like header containing the identifier for the scaffold followed by the number of contigs, size and span. Within each scaffold, all contigs are listed in the scaffold order, followed by the string BE for those in the forward orientation and EB for those in the reverse orientation. An example file is shown in: [[bambus.oo|data/sample_files/bambus.oo]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .sum file ===&lt;br /&gt;
&lt;br /&gt;
This file contains one line for each scaffold. Each line contains the scaffold ID, number of contigs, scaffold size, and span. The four values are separated by TAB characters. See an example in [[bambus.sum|data/sample_files/bambus.sum]].&lt;br /&gt;
&lt;br /&gt;
== Known problems ==&lt;br /&gt;
There is a small &amp;quot;off-by-one&amp;quot; error in computing contig coordinates. It should not really affect the usefulness of the output.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Contact information ==&lt;br /&gt;
&lt;br /&gt;
BAMBUS is currently provided AS-IS, in other words we do not provide any support for the software. We would, however, like to hear your comments and suggestions.  For Bambus bug reports, support requests, or any other inquiries please browse our SourceForge project page or Email us at:&lt;br /&gt;
&lt;br /&gt;
  amos-help (at) lists (dot) sourceforge (dot) net&lt;br /&gt;
&lt;br /&gt;
BAMBUS was written by Mihai Pop and Dan Kosack.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Bambus]]&lt;/div&gt;</summary>
		<author><name>Dmb000006</name></author>	</entry>

	<entry>
		<id>http://amos.sourceforge.net/wiki/index.php/Bambus/printScaff</id>
		<title>Bambus/printScaff</title>
		<link rel="alternate" type="text/html" href="http://amos.sourceforge.net/wiki/index.php/Bambus/printScaff"/>
				<updated>2011-01-07T14:57:34Z</updated>
		
		<summary type="html">&lt;p&gt;Dmb000006: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &amp;#039;&amp;#039;&amp;#039;printScaff&amp;#039;&amp;#039;&amp;#039; command is a part of the [[Bambus Manual|Bambus]] pipeline.&lt;br /&gt;
&lt;br /&gt;
PrintScaff requires as inputs the [[Bambus Manual#.evidence.xml|.evidence.xml]] file, the [[Bambus Manual#.out.xml|.out.xml]] file and the [[Bambus Manual#.lib file|.lib]] files produce by Bambus, the minimal invocation being:&lt;br /&gt;
&lt;br /&gt;
 printScaff -e test.evidence.xml -s test.out.xml -l test.lib&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Optionally you may specify the output prefix with option -o (just like in the [[Bambus Manual|Bambus invocation]]). PrintScaff has parameters that control what gets reported, and in what format.&lt;br /&gt;
&lt;br /&gt;
In the first category you have:&lt;br /&gt;
* -dot - produce a .dot file&lt;br /&gt;
* -detail - produce a .details file&lt;br /&gt;
* -oo - produce a [[Bambus Manual#.oo file|.oo]] file listing all the contigs in each scaffold&lt;br /&gt;
* -sum - produce a [[Bambus Manual#.sum file|.sum]] tab delimited list of scaffold stats (#contigs, size, and span)&lt;br /&gt;
* -f &amp;lt;fasta_file&amp;gt; - generate a pseudo-molecule for each scaffold using the contig sequences listed in &amp;lt;fasta_file&amp;gt;. Note that the contigs in the scaffold files are names &amp;quot;contig_&amp;lt;id&amp;gt;&amp;quot; while the contigs in the &amp;lt;fasta_file&amp;gt; must simply be called &amp;quot;&amp;lt;id&amp;gt;&amp;quot;. Note that this option together with the default -merge option (see below) is meaningless unless you&amp;#039;ve [[Bambus Manual#Untangling scaffolds|untangled]] the scaffold.&lt;br /&gt;
* -phys - create a .phys file listing all &amp;quot;gaps&amp;quot; spanned only by the specified libraries:&lt;br /&gt;
&lt;br /&gt;
 printScaff -e test.evidence.xml -s test.out.xml -l test.lib -phys MUMmer&lt;br /&gt;
&lt;br /&gt;
will generate a file called test.phys that contains all contig pairs linked by nothing but MUMmer links.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the second category you have:&lt;br /&gt;
* -page - produce .dot file formatted for printing on 8.5x11&amp;quot; paper&lt;br /&gt;
* -plot - produce .dot file formatted for printing on a plotter (36x48&amp;quot; paper)&lt;br /&gt;
* -unused - draw edges corresponding to unused links&lt;br /&gt;
* -merge - (default) when the -f option is given, produce a pseudo-molecule for each scaffold by adding 60 N characters between the contigs in the scaffold&lt;br /&gt;
* -nomerge - when the -f option is given, create a fasta file containing all contigs in each scaffold in the correct orientation&lt;br /&gt;
&lt;br /&gt;
[[Category:Bambus]]&lt;/div&gt;</summary>
		<author><name>Dmb000006</name></author>	</entry>

	<entry>
		<id>http://amos.sourceforge.net/wiki/index.php/Bambus/printScaff</id>
		<title>Bambus/printScaff</title>
		<link rel="alternate" type="text/html" href="http://amos.sourceforge.net/wiki/index.php/Bambus/printScaff"/>
				<updated>2011-01-07T14:54:28Z</updated>
		
		<summary type="html">&lt;p&gt;Dmb000006: Fixing &amp;#039;internal links&amp;#039; to point back at the bambus manual&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &amp;#039;&amp;#039;&amp;#039;printScaff&amp;#039;&amp;#039;&amp;#039; command is a part of the [[Bambus]] pipeline.&lt;br /&gt;
&lt;br /&gt;
PrintScaff requires as inputs the [[Bambus Manual#.evidence.xml|.evidence.xml]] file, the [[Bambus Manual#.out.xml|.out.xml]] file and the [[Bambus Manual#.lib file|.lib]] files produce by Bambus, the minimal invocation being:&lt;br /&gt;
&lt;br /&gt;
 printScaff -e test.evidence.xml -s test.out.xml -l test.lib&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Optionally you may specify the output prefix with option -o (just like in the [[Bambus Manual|Bambus invocation]]). PrintScaff has parameters that control what gets reported, and in what format.&lt;br /&gt;
&lt;br /&gt;
In the first category you have:&lt;br /&gt;
* -dot - produce a .dot file&lt;br /&gt;
* -detail - produce a .details file&lt;br /&gt;
* -oo - produce a [[Bambus Manual#.oo file|.oo]] file listing all the contigs in each scaffold&lt;br /&gt;
* -sum - produce a [[Bambus Manual#.sum file|.sum]] tab delimited list of scaffold stats (#contigs, size, and span)&lt;br /&gt;
* -f &amp;lt;fasta_file&amp;gt; - generate a pseudo-molecule for each scaffold using the contig sequences listed in &amp;lt;fasta_file&amp;gt;. Note that the contigs in the scaffold files are names &amp;quot;contig_&amp;lt;id&amp;gt;&amp;quot; while the contigs in the &amp;lt;fasta_file&amp;gt; must simply be called &amp;quot;&amp;lt;id&amp;gt;&amp;quot;. Note that this option together with the default -merge option (see below) is meaningless unless you&amp;#039;ve [[Bambus Manual#Untangling scaffolds|untangled]] the scaffold.&lt;br /&gt;
* -phys - create a .phys file listing all &amp;quot;gaps&amp;quot; spanned only by the specified libraries:&lt;br /&gt;
&lt;br /&gt;
 printScaff -e test.evidence.xml -s test.out.xml -l test.lib -phys MUMmer&lt;br /&gt;
&lt;br /&gt;
will generate a file called test.phys that contains all contig pairs linked by nothing but MUMmer links.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the second category you have:&lt;br /&gt;
* -page - produce .dot file formatted for printing on 8.5x11&amp;quot; paper&lt;br /&gt;
* -plot - produce .dot file formatted for printing on a plotter (36x48&amp;quot; paper)&lt;br /&gt;
* -unused - draw edges corresponding to unused links&lt;br /&gt;
* -merge - (default) when the -f option is given, produce a pseudo-molecule for each scaffold by adding 60 N characters between the contigs in the scaffold&lt;br /&gt;
* -nomerge - when the -f option is given, create a fasta file containing all contigs in each scaffold in the correct orientation&lt;/div&gt;</summary>
		<author><name>Dmb000006</name></author>	</entry>

	<entry>
		<id>http://amos.sourceforge.net/wiki/index.php/Bambus_Manual</id>
		<title>Bambus Manual</title>
		<link rel="alternate" type="text/html" href="http://amos.sourceforge.net/wiki/index.php/Bambus_Manual"/>
				<updated>2011-01-07T14:49:54Z</updated>
		
		<summary type="html">&lt;p&gt;Dmb000006: Making an entry for the .lib file and correcting a within page link to that entry.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
 | __TOC__&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The output of most shotgun sequence assembly programs (such as TIGR Assembler, phrap, or CAP3) consists in a set of un-related contigs, whose order and orientation along the chromosome is unknown. Scaffolding represents the task of ordering and orienting these contigs by using additional information about their relative placement. Traditionally such information was identified from the pairing of reads from the opposite ends of an insert in double-barelled shotgun experiments (see figure).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:scaffold image.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Besides clone mate information, homology data, physical maps, or gene synteny information can be used to derive relationships between contigs. BAMBUS is a program written to handle all such types of data in a generic fashion in order to build contig scaffolds. In order to account for the varied quality of linking information BAMBUS allows the user to specify a hierarchy that will consider the most reliable linking data first, then expand the scaffolds using less reliable data. This approach minimizes the effect of errors inherent to experimentally-derived linking information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Algorithm overview ===&lt;br /&gt;
&lt;br /&gt;
BAMBUS has two main modes of operation: hierarchical - when the links are considered in the order of their priorities, and standard - when all the links are considered at the same priority level. In the latter case, all links connecting two contigs are bundled together to form a &amp;quot;gap&amp;quot;, or &amp;quot;edge&amp;quot; if you look at the problem from a graph theoretical point of view. Each link is checked for validity before being added to a bundle. Thus, a link is considered invalid due to a length constraint if it forces the two contigs to overlap. In other words, if we assume the largest possible size for the insert corresponding to the link, if the coordinates of the mate-pair within the contigs force the contigs to overlap, we discard the link assuming it is due to a misassembly (Note: this behaviour can be specified on a link-by-link basis). Links that pass this test are further checked for consistency. If they do not all agree in the relative orientations of the contigs they imply, a majority rule is used to retain only those links that agree both in orientation and length. Furthermore, the bundle, or edge, is retained if it contains at least two links (this parameter, redundancy, can actually be tuned by the user). After this step is complete, the resulting graph gets traversed twice, once to assign consistent orientations to all the contigs, and the second time to determine the order of the contigs along the chromosome. Note that inconsistencies in order are currently allowed since they can provide finishing teams with useful information. In a future version of BAMBUS we will add an option to allow the generation of unambiguous scaffolds as well. Currently you can generate such unambiguous scaffolds using the [[#Untangling scaffolds|untangle]] program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
* Install AMOS&lt;br /&gt;
* Perl 5.6 or later&lt;br /&gt;
* [http://www.cpan.org/ XML::Parser] perl module&lt;br /&gt;
* [http://www.cpan.org/ Config::IniFiles] perl module&lt;br /&gt;
* [http://www.research.att.com/sw/tools/graphviz/ GraphViz] package&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Obtaining BAMBUS ===&lt;br /&gt;
&lt;br /&gt;
BAMBUS 2.3 is available free of charge under the open-source Artistic License.&lt;br /&gt;
&lt;br /&gt;
The Bambus source if freely available for download from the File Release Section of our SourceForge project page.&lt;br /&gt;
&lt;br /&gt;
To receive information regarding new releases and developments, please subscribe to our moderated, low-traffic users&amp;#039; mailing list:&lt;br /&gt;
&lt;br /&gt;
 amos-users(at)lists(dot)sourceforge(dot)net&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Actual installation ===&lt;br /&gt;
&lt;br /&gt;
1. Find a directory where you want the software installed. For example /users/home/CoolUser&lt;br /&gt;
&lt;br /&gt;
2. Place the tar file bambus-2.33.tar.gz in this directory&lt;br /&gt;
&lt;br /&gt;
3. Unpack the distribution&lt;br /&gt;
 % tar xvzf bambus-2.33.tar.gz&lt;br /&gt;
&lt;br /&gt;
4. Go into the newly created directory&lt;br /&gt;
 % cd bambus-2.33&lt;br /&gt;
&lt;br /&gt;
5. Carefully read the documentation&lt;br /&gt;
&lt;br /&gt;
6. Edit the file Makefile and change the value of BASEDIR to the correct installation path, for example:&lt;br /&gt;
 BASEDIR = /users/home/CoolUser&lt;br /&gt;
&lt;br /&gt;
7. Also check if the path for perl (in variable PERL) matches the one on your system. Several common options are:&lt;br /&gt;
 PERL = /usr/local/bin/perl&lt;br /&gt;
 PERL = /usr/bin/perl&lt;br /&gt;
&lt;br /&gt;
8. Type &amp;#039;gmake install&amp;#039; to have all the software installed. The executables will be in /users/home/CoolUser/bin/ and the documentation in /users/home/CoolUser/doc.&lt;br /&gt;
&lt;br /&gt;
9. To get started you can try out the small test dataset provided in data/test_run by typing:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -m test.mates -o test-bambus&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Running BAMBUS ==&lt;br /&gt;
&lt;br /&gt;
The input to Bambus consists in a set of links between contigs. These links can be inferred from the pairing of reads belonging to the same insert, from physical map data, or from alignment to another genome. To accomodate these types of sources of linking information, and to allow for further extensions, the input to Bambus is presented in a general purpose XML format. &lt;br /&gt;
&lt;br /&gt;
The following sections describe how the XML file can be generated for each type of linking data. For more information see [[#.evidence.xml|.evidence.xml]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Linking information is grouped into &amp;quot;libraries&amp;quot;. All links within a library have similar parameters. In the case of mate-pair linking information the libraries match the standard definition. For other linking data, for example MUMmer links, the library grouping reflects specific characteristics of the linking data. For example all MUMmer links are grouped within a library called &amp;quot;MUMmer&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Command line options ===&lt;br /&gt;
&lt;br /&gt;
Bambus consists in a collection of programs controlled by a script called goBambus. The execution is controlled by the following sets of parameters. To obtain a list of all parameters and basic help information you need to type:&lt;br /&gt;
&lt;br /&gt;
 goBambus -h&lt;br /&gt;
or&lt;br /&gt;
 goBambus -help&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Configuration options ====&lt;br /&gt;
&lt;br /&gt;
* -C &amp;lt;conf_file&amp;gt; . This parameter specifies the configuration file used by Bambus. A configuration file is not required, however it is useful if you want to change the default parameters. See [[#The configuration file|the configuration file]] for a detailed description of the configuration information.&lt;br /&gt;
&lt;br /&gt;
Whenever you run Bambus it will generate a default configuration file called default.conf. If you want to modify the parameters, you will need to rename this file and then edit it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Input Options ====&lt;br /&gt;
&lt;br /&gt;
* -a &amp;lt;asm_file&amp;gt; . Use a TIGR Assembler .asm file as source of linking information.&lt;br /&gt;
* -c &amp;lt;contig_file&amp;gt; . Use a GDE formatted .contig assembly file as source of linking information. The .contig files can be obtained either from TIGR Assembler output (by concatenating the contents of the .align directory) or by converting .ace files (created by phrap or Consed) using the [[ace2contig]] package.&lt;br /&gt;
* -x &amp;lt;xml_file&amp;gt;. Use additional XML formatted linking information. You can use the -x option multiple times. See [[#.evidence.xml|.evidence.xml]] for the XML file format.&lt;br /&gt;
* -mx &amp;lt;make_file&amp;gt;. Use a gmake compatible make file to specify how the additional XML information is generated. Each of the files created must end in &amp;quot;.xml&amp;quot;. Moreover, only the final XML targets are allowed to end in &amp;quot;.xml&amp;quot; to prevent goBambus from getting confused. See [[#Using Makefiles|using Makefiles]] for a more detailed description on using makefiles.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Mate-pair Information ====&lt;br /&gt;
&lt;br /&gt;
Assembly output (such as .asm and .contig files) does not generally contain any information about the pairing of reads coming from opposite ends of the same insert, nor about the membership of inserts to libraries. The following parameters specify how to obtain this mate-pair information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* -m &amp;lt;mates_file&amp;gt; . The mates file allows you to specify both library information and mate pairing information, using a system based on Perl regular expressions. See [[#The .mates file|the .mates file]].&lt;br /&gt;
* -D &amp;lt;database&amp;gt; . At TIGR, instead of a mates file you can opt to use a database to obtain library and mate information. Note that the -m and -D options are complementary. The following three parameters specify database options:&lt;br /&gt;
* -S &amp;lt;server&amp;gt; . Select a specific database server&lt;br /&gt;
* -U &amp;lt;user&amp;gt; . Log in with the specified user name&lt;br /&gt;
* -P &amp;lt;passwd&amp;gt; . Log in with the specified password&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Output Options ====&lt;br /&gt;
&lt;br /&gt;
* -o &amp;lt;output_prefix&amp;gt; . All the output file names will be generated from the &amp;lt;output_prefix&amp;gt; prefix.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Repeat Screening ====&lt;br /&gt;
&lt;br /&gt;
Misassembled repeats can confuse Bambus, therefore it makes sense to screen the known repeats that may be misassembled. Bambus can use two types of repeat screening information:&lt;br /&gt;
&lt;br /&gt;
* -r . Screen against the repeats listed in the database (option -D must be provided)&lt;br /&gt;
* -r &amp;lt;repfile&amp;gt; . Screen against repeats described in [[#Repeat files|repeat files]]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Flow-control ====&lt;br /&gt;
&lt;br /&gt;
* -start &amp;lt;num&amp;gt;&lt;br /&gt;
* -end &amp;lt;num&amp;gt;. The execution of Bambus consists in a set of steps. The user can choose to start or end at a specific step for example in the case when she modifies the configuration file and wants to re-run just the final steps of the scaffolders. This feature should be used with caution.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Typical use cases ===&lt;br /&gt;
==== Using assembler output ====&lt;br /&gt;
&lt;br /&gt;
For convenience, Bambus can use the output of an assembly program and automatically generate the required linking information. Two types of information are required:&lt;br /&gt;
&lt;br /&gt;
* the tiling of reads in the assembly&lt;br /&gt;
* information about the pairing of reads&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The first type of information can be obtained from the .asm or .contig output formats of TIGR Assembler. For more information about these file formats please refer to the [http://www.jcvi.org/cms/publications/listing/abstract/article/tigr-assembler-a-new-tool-for-assembling-large-shotgun-sequencing-projects/ TIGR Assembler documentation]. Note that the .contig file may be stripped of all sequence data as the only information used is that contained in the lines starting with #. In case you are using an assembler other than TIGR Assembler you may need to use the ta2ace package to convert the output into the .contig format.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The second type of information can be obtained from a [[#The .mates file|.mates file]], or from the database in case you are at TIGR.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A typical command line for someone outside of TIGR is:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -m test.mates -o test&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and the execution will generate the following files:&lt;br /&gt;
&lt;br /&gt;
* [[#.stats file|test.stats]] - statistics on scaffolds and libraries &lt;br /&gt;
* [[#.details file|test.details]] - detailed information about each contig pair (also called &amp;quot;gap&amp;quot;). &lt;br /&gt;
* [[#.dot file|test.dot]] - GraphViz formatted description of the contig linkage information.&lt;br /&gt;
* [[#.evidence.xml|test.evidence.xml]] - XML representation of all the linking evidence provided.&lt;br /&gt;
* [[#.out.xml|test.out.xml]] - XML representation of the scaffolds.&lt;br /&gt;
* [[#.lib file|test.lib]] - list of the codes associated with each input library. These codes are reported on the links in the output file. &amp;lt;!-- The link here looks wrong! --&amp;gt;&lt;br /&gt;
* [[#.sum file|test.sum]] - one-line sumaries of all scaffolds.&lt;br /&gt;
* [[#.oo file|test.oo]] - order and orientation information for all the contigs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Additionally, the program generates some &amp;quot;working&amp;quot; files that are currently not removed as they provide useful debugging information.&lt;br /&gt;
&lt;br /&gt;
* test.detective.xml - linking information derived from assembler input alone. It&amp;#039;s the same as test.evidence.xml unless additional XML files are provided in the input.&lt;br /&gt;
* test.inp - input to the core scaffolding engine.&lt;br /&gt;
* test.grommit.conf - configuration information for the scaffolding engine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To view the graphical output you need to convert it to Postscript with the command:&lt;br /&gt;
&lt;br /&gt;
 dot -Tps -o test.ps test.dot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then you can view the postscript file with the command:&lt;br /&gt;
&lt;br /&gt;
 gv test.ps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
At TIGR, instead of specifying a .mates file you can use the database:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -D gbx -U access -P access -o test&lt;br /&gt;
&lt;br /&gt;
==== Getting more (or less) information from the output ====&lt;br /&gt;
&lt;br /&gt;
You can modify the information you get in the output by directly calling the [[Bambus/printScaff|printScaff]] command.&lt;br /&gt;
&lt;br /&gt;
==== Adding additional XML linking information ====&lt;br /&gt;
&lt;br /&gt;
You can easily add additional linking information as long as it&amp;#039;s in a format similar to the [[#.evidence.xml file|.evidence.xml file]]. Assuming we have two such files &amp;quot;link1.xml&amp;quot; and &amp;quot;link2.xml&amp;quot; you can call Bambus as follows:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -m test.mates -x link1.xml -x link2.xml -o test&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The result being the same as if you concatenated the XML file inferred from the .contig file together with the two additional XML files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Using MUMmer links ====&lt;br /&gt;
&lt;br /&gt;
In case you are sequencing a genome for which a close relative has been completed, you can use [[MUMmer]] to infer links between contigs. Assume you have the reference genome in a file &amp;quot;ref.fasta&amp;quot; and all the contigs from the genome you are assembling in a file called &amp;quot;test.fasta&amp;quot;, you can run MUMmer to align the test genome to the reference:&lt;br /&gt;
&lt;br /&gt;
 nucmer -maxmatch ref.fasta test.fasta&lt;br /&gt;
&lt;br /&gt;
The output will be placed in a file called out.delta. You can then convert the alignment information into an XML file suitable for Bambus as follows:&lt;br /&gt;
&lt;br /&gt;
 show-tiling -x out.delta &amp;gt; test.mum.xml&lt;br /&gt;
&lt;br /&gt;
And finally you can provide this information to Bambus:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -m test.mates -x test.mum.xml -o test&lt;br /&gt;
&lt;br /&gt;
==== Using Makefiles ====&lt;br /&gt;
&lt;br /&gt;
If you have multiple XML files, it becomes tedious to generate each file separately and then provide them to Bambus with multiple -x options. You can create a Makefile compatible with GNU make that generates each of the XML files. You must be careful that the targets for all the XML files end in &amp;quot;.xml&amp;quot;, and no other targets (such as intermediate targets) have the same suffix. Bambus will assume that all .xml files produced by the Makefile must be added to the input.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An example of a simple Makefile that can generate the mummer information described above is:&lt;br /&gt;
&lt;br /&gt;
 test.mum.xml: ref.fasta test.fasta&lt;br /&gt;
 nucmer -a max-match ref.fasta test.fasta&lt;br /&gt;
 show-tiling -x out.delta &amp;gt; test.mum.xml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Untangling scaffolds ====&lt;br /&gt;
&lt;br /&gt;
By default, the scaffolds resulting from Bambus are potentially ambiguous as two or more contigs may occupy the same place in the genome. Such situations occur either due to misassembled repeats, or when assembling different haplotypes. Bambus contains a utility that does a best effort attempt to disambiguate the scaffolds, by breaking them into a set of non-ambiguous scaffolds. The algorithm is greedy and does not guarantee that an optimal solution (e.g. a minimum number of longest scaffolds) is produced.&lt;br /&gt;
&lt;br /&gt;
To run the untangler type:&lt;br /&gt;
&lt;br /&gt;
 untangle -e test.evidence.xml -s test.out.xml -o test.untangle.xml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The test.untangle.xml file has the same format as the output file ([[#.out.xml|.out.xml]]) and for each scaffold (e.g. scaff_1) contains one or more unambiguous scaffolds called &amp;quot;scaff_1_1, scaff_1_2, etc&amp;quot;. You can use the [[#Getting more (or less) information from the output|printScaff]] command to process the untangled file the same way you would process a normal Bambus output.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== File formats ==&lt;br /&gt;
&lt;br /&gt;
=== The configuration file ===&lt;br /&gt;
&lt;br /&gt;
Scaffolding parameters can be specified in a configuration file. Whenever you run Bambus a default configuration file is generated as default.conf. To create your own file you should rename this file then edit it. The following types of information can be specified:&lt;br /&gt;
&lt;br /&gt;
* Comments. Lines starting with # are considered comments and are ignored by the software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Priority information. Specifies an order in which the libraries are considered. For example, the following line specifies priority 2 for all MUMmer links. The libraries are considered in the increasing order of priorities.&lt;br /&gt;
&lt;br /&gt;
      priority MUMmer 2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If no configuration file is provided, all libraries are assumed to have the same priority. If a configuration file is provided, only those libraries that have a priority record are used in scaffolding. In other words, if a library has no priority record associated with it, it will not be used in scaffolding.&lt;br /&gt;
&lt;br /&gt;
A priority can also be specified for a specific redundancy parameter. For example, the following line specifies that those links between contigs supported by 4 or more sources of linking data should be processed at priority level 1. &lt;br /&gt;
&lt;br /&gt;
      priority redundancy 4 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note, however, that you need to also specify a set of libraries to be used at this priority level. A simple shortcut is specifying that all link classes should be processed at this redundancy.&lt;br /&gt;
&lt;br /&gt;
      priority ALL 1&lt;br /&gt;
      &lt;br /&gt;
&lt;br /&gt;
If you are uncertain of which libraries your project uses, run Bambus without a configuration file. The libraries will be listed in a file ending in &amp;quot;[[#.lib file|.libs]]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Redundancy information. Specifies the minimum number of links required for a valid inter-contig link. You can specify this parameter as a global value:&lt;br /&gt;
&lt;br /&gt;
   redundancy 2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
that is, all contigs must be linked by at least two links. You can also specify a per-library value like below which says a single MUMmer link is required to link two contigs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   redundancy MUMmer 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Minimum scaffold size. Specifies a scaffold size cutoff. For example thisimplies that only scaffolds that contain more than 10kbp are present in the output.:&lt;br /&gt;
&lt;br /&gt;
      mingroupsize 10000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Link size error. For some link types, determining the exact link length can only be done within a certain error. This parameter specifies, as a percentage, the estimated error in size determination. For example, since MUMmer links make an assumption of evolutionary closeness between two genomes, the error associated with them should be proportional to the estimated evolutionary distance (as nucleotide % similarity) between the two genomes. For an error of 5% use this parameter: &lt;br /&gt;
&lt;br /&gt;
      error MUMmer 0.05&lt;br /&gt;
  &lt;br /&gt;
* Overlapping contigs allowed. For each library you can control the link validation process by specifying whether adjacent contigs are allowed to overlap or not. By default mate-pair links assume adjacent contigs do not overlap, while MUMmer links allow contigs to overlap. This is equivalent to the configuration parameters:&lt;br /&gt;
  &lt;br /&gt;
      overlaps lib_1 N&lt;br /&gt;
      overlaps MUMmer Y&lt;br /&gt;
&lt;br /&gt;
An example is provided in [[bambus.conf|data/sample_files/bambus.conf]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== The .mates file ===&lt;br /&gt;
&lt;br /&gt;
The .mates file provides two types of information: library data, and mate-pair relationships between reads.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Library data can be described in two formats:&lt;br /&gt;
 library	&amp;lt;name&amp;gt;	&amp;lt;min_size&amp;gt;	&amp;lt;max_size&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and&lt;br /&gt;
 library	&amp;lt;name&amp;gt;	&amp;lt;min_size&amp;gt;	&amp;lt;max_size&amp;gt;	&amp;lt;regexp&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Both formats require you to name each library and to provide a size range for the inserts belonging to it. The second format allows you to also provide a Perl regular expression that describes the naming convention for reads belonging to the library. The part of the sequence name that represents the library name must be placed within parentheses. As an example, the regular expression for TIGR sequences (where the library is specified by the first 4 characters) is:&lt;br /&gt;
 (....).*&lt;br /&gt;
&lt;br /&gt;
Mate-pair relationships can also be described in two ways:&lt;br /&gt;
 pair	&amp;lt;regexp_forw&amp;gt;	&amp;lt;regexp_rev&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
 &amp;lt;seq_forw_1&amp;gt;	&amp;lt;seq_rev_1&amp;gt;	&amp;lt;library_name&amp;gt;&lt;br /&gt;
 &amp;lt;seq_forw_2&amp;gt;	&amp;lt;seq_rev_2&amp;gt;	&amp;lt;library_name&amp;gt;&lt;br /&gt;
 &amp;lt;seq_forw_3&amp;gt;	&amp;lt;seq_rev_3&amp;gt;	&amp;lt;library_name&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
The first format requires two regular expressions corresponding to the forward and reverse mates of an insert. Just like the library record, the portion of the name corresponding to the insert name must be placed within parentheses. Two reads that match the two regular expressions, and have the exact same section matched within the parentheses will be considered mates. The library will be determined from the regular expression associated with a &amp;quot;library&amp;quot; record. As an example, at TIGR the first 7 characters represent the insert, then are followed by an optional T or P and the primer name (F or R for Forward or Reverse). The corresponding regular expression is:&lt;br /&gt;
 pair	(.......)[TP]?F	(.......)[TP]?R&lt;br /&gt;
&lt;br /&gt;
The second format is simply a list of sequence name pairs each followed by the name of the library they belong to. The corresponding library records must be listed in the file before the pairing data.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note that fields in the .mates file must be separated by TAB characters otherwise the program will report an error.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
An example of a .mates file using the phred/phrap naming convention is provided in [[bambus.mates|data/sample_files/bambus.mates]].&lt;br /&gt;
&lt;br /&gt;
=== Repeat files ===&lt;br /&gt;
&lt;br /&gt;
The repeat files used in screening linking data conform to the output standards of the repeatFinder program. The file contains 5 TAB-delimited values: contig ID, repeat name, left and right coordinates within the contig, and contig class. Only the first 4 values are essential as far as Bambus is concerned. Here is an example of repeat records:&lt;br /&gt;
&lt;br /&gt;
 AC009139.7.3 RPT1A 14554 96820 1&lt;br /&gt;
 AC026498.3.2 RPT1B 124208 206475 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .evidence.xml ===&lt;br /&gt;
&lt;br /&gt;
This provides an XML representation of the input file. Below is a description of the data presented in this file (see also an [[bambus.evidence.xml|example]]):&lt;br /&gt;
&lt;br /&gt;
The overall flow of the XML file is:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;EVIDENCE&amp;gt;&lt;br /&gt;
   &amp;lt;LIBRARY&amp;gt;&lt;br /&gt;
    &amp;lt;INSERT&amp;gt;&lt;br /&gt;
      &amp;lt;SEQUENCE/&amp;gt;&lt;br /&gt;
      &amp;lt;SEQUENCE/&amp;gt;&lt;br /&gt;
    &amp;lt;/INSERT&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
  &amp;lt;/LIBRARY&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;CONTIG&amp;gt;&lt;br /&gt;
    &amp;lt;SEQUENCE/&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
  &amp;lt;/CONTIG&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;LINK&amp;gt;&lt;br /&gt;
    &amp;lt;CONTIG/&amp;gt;&lt;br /&gt;
    &amp;lt;CONTIG/&amp;gt;&lt;br /&gt;
  &amp;lt;/LINK&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &amp;lt;/EVIDENCE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;EVIDENCE                        this is the parent tag - the whole document occurs within &amp;lt;EVIDENCE&amp;gt; and &amp;lt;/EVIDENCE&amp;gt;&lt;br /&gt;
  ID = &amp;quot;1&amp;quot;                        some identifier for the file&lt;br /&gt;
  DATE = &amp;quot;12/15/03&amp;quot;               date when file was created&lt;br /&gt;
  PROJECT = &amp;quot;MyProject&amp;quot;           verbose description of the project&lt;br /&gt;
  PARAMETERS = &amp;quot;&amp;quot;                 parameters used in creating this file&lt;br /&gt;
 &amp;gt;&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;LIBRARY                         for each shotgun library you need a separate library tag.&lt;br /&gt;
  ID = &amp;quot;lib_1&amp;quot;                    some identifier for the library&lt;br /&gt;
  NAME = &amp;quot;short&amp;quot;                  verbose name for the library&lt;br /&gt;
  MIN = &amp;quot;1200&amp;quot;                    minimum size of inserts in this library&lt;br /&gt;
  MAX = &amp;quot;3500&amp;quot;                    maximum size of inserts in this library&lt;br /&gt;
 &amp;gt;&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;INSERT                          the insert concept links together the two reads obtained from opposite ends of a clone insert&lt;br /&gt;
  ID=&amp;quot;ins_1&amp;quot;                      generic identifier for the insert&lt;br /&gt;
  NAME=&amp;quot;GALBZ92&amp;quot;                  verbose name for the insert&lt;br /&gt;
 &amp;gt; 	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SEQUENCE                        each insert contains two sequence reads obtained from to the opposite ends&lt;br /&gt;
  ID=&amp;quot;seq_1&amp;quot;                      generic identifier for the sequence&lt;br /&gt;
  NAME=&amp;quot;GALBZ92TF&amp;quot;                verbose name for the sequence&lt;br /&gt;
 &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;CONTIG                          Each contig in the assembly needs to be represented in the file&lt;br /&gt;
  ID=&amp;quot;contig_1&amp;quot;                   contig identifier&lt;br /&gt;
  NAME= &amp;quot;1&amp;quot;                       contig name (usually the same as the identifier)&lt;br /&gt;
  LEN=&amp;quot;12352&amp;quot;                     contig length in basepairs&lt;br /&gt;
 &amp;gt; 	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SEQUENCE                        each sequence in the contig is listed together with information about the position within the contig.&lt;br /&gt;
  ID=&amp;quot;seq_1&amp;quot;                      sequence identifier (must match one described in the library section)&lt;br /&gt;
  ORI=&amp;quot;BE&amp;quot;                        orientation of sequence: BE - forward, EB - reverse&lt;br /&gt;
  ASM_LEND=&amp;quot;0&amp;quot;                    coordinate of sequence&amp;#039;s left end within the contig&lt;br /&gt;
  ASM_REND=&amp;quot;525&amp;quot;                  coordinate of sequence&amp;#039;s right end within the contig&lt;br /&gt;
 &amp;gt; 	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;LINK                            this is a generic link between two contigs (i.e. not inferred from mate-pair data)&lt;br /&gt;
  ID = &amp;quot;link_1&amp;quot;                   link identifier&lt;br /&gt;
  SIZE = &amp;quot;-800&amp;quot;                   size of gap between the two contigs&lt;br /&gt;
  TYPE = &amp;quot;MUMmer&amp;quot;                 link type: links with the same type get grouped into a virtual &amp;quot;library&amp;quot; used in specifying priorities&lt;br /&gt;
 &amp;gt; 	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;CONTIG                          each link contains two contigs&lt;br /&gt;
  ID = &amp;quot;contig_1&amp;quot;                 contig identifier: must match one described in the contig section above&lt;br /&gt;
  ORI = &amp;quot;EB&amp;quot;                      contig orientation: BE - forward, EB - reverse&lt;br /&gt;
 &amp;gt; 	                          each contig record may contain free-form data specifying the evidence for linking: e.g. alignment data&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
=== .out.xml ===&lt;br /&gt;
&lt;br /&gt;
Represents, together with the evidence file, a description of the layout of the contigs. For each scaffold, the order (given as a coordinate along a chromosome) and the orientation of each contig is presented, together with a list of all the links used to generate this layout. Some links are deemed invalid, being given a code of &amp;quot;LEN&amp;quot; in case the length was deemed incorrect, or &amp;quot;ORI&amp;quot; in case the link orientation was considered incorrect. This file is also specified by the [[bambus.dtd|DTD]] and an example ([[bambus.out.xml|data/sample_files/bambus.out.xml]]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .stats file ===&lt;br /&gt;
&lt;br /&gt;
Finally, BAMBUS outputs a summary of the scaffolds generated. This file is pretty much self-explanatory, as evidenced by this example ([[bambus.stats|data/sample_files/bambus.stats]]). Note that in the .stats file, the N50 sizes are computed with respect to the total span of the scaffolds unless a different genome size is specified in a file called genome.size.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .details file ===&lt;br /&gt;
&lt;br /&gt;
The .details file contains detailed information about the linking information between adjacent contigs. The contigs&amp;#039; orientation, size, and coordinates are listed and then all the linking data grouped by validity and library. An example is provided in [[bambus.details|data/sample_files/bambus.details]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .dot file ===&lt;br /&gt;
&lt;br /&gt;
Represents a graphical representation of the scaffolds in GraphViz format. Please see the [http://www.research.att.com/sw/tools/graphviz/ AT&amp;amp;T GraphViz] website for more information on this file format.&lt;br /&gt;
&lt;br /&gt;
=== .lib file ===&lt;br /&gt;
Lists the libraries and their internal ID&amp;#039;s&lt;br /&gt;
&lt;br /&gt;
=== .ps file ===&lt;br /&gt;
&lt;br /&gt;
A postscript image generated from the GraphViz-formatted file. It can be obtained from the .dot file with the command:&lt;br /&gt;
 dot -Tps -o prefix.ps prefix.dot&lt;br /&gt;
&lt;br /&gt;
An example is given in the picture below.&lt;br /&gt;
[[Image:bambus-display.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Each scaffold is placed in a box, labeled with some statistics on the scaffold size (number of contigs, number of bases and span). All the &amp;quot;gaps&amp;quot; - linking relationships between the contigs are represented as edges. Each edge is decorated with the number of links contributing to it, the number of links from each library type, and the number of links invalidated due to incorrect length (L) or orientation (O). Each contig&amp;#039;s ID, size, and coordinates within the scaffold are also listed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .oo file ===&lt;br /&gt;
&lt;br /&gt;
This file contains a summary of the order and orientation of all contigs present in the data. Each scaffold starts with a FASTA-like header containing the identifier for the scaffold followed by the number of contigs, size and span. Within each scaffold, all contigs are listed in the scaffold order, followed by the string BE for those in the forward orientation and EB for those in the reverse orientation. An example file is shown in: [[bambus.oo|data/sample_files/bambus.oo]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .sum file ===&lt;br /&gt;
&lt;br /&gt;
This file contains one line for each scaffold. Each line contains the scaffold ID, number of contigs, scaffold size, and span. The four values are separated by TAB characters. See an example in [[bambus.sum|data/sample_files/bambus.sum]].&lt;br /&gt;
&lt;br /&gt;
== Known problems ==&lt;br /&gt;
There is a small &amp;quot;off-by-one&amp;quot; error in computing contig coordinates. It should not really affect the usefulness of the output.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Contact information ==&lt;br /&gt;
&lt;br /&gt;
BAMBUS is currently provided AS-IS, in other words we do not provide any support for the software. We would, however, like to hear your comments and suggestions.  For Bambus bug reports, support requests, or any other inquiries please browse our SourceForge project page or Email us at:&lt;br /&gt;
&lt;br /&gt;
  amos-help (at) lists (dot) sourceforge (dot) net&lt;br /&gt;
&lt;br /&gt;
BAMBUS was written by Mihai Pop and Dan Kosack.&lt;/div&gt;</summary>
		<author><name>Dmb000006</name></author>	</entry>

	<entry>
		<id>http://amos.sourceforge.net/wiki/index.php/Bambus_Manual</id>
		<title>Bambus Manual</title>
		<link rel="alternate" type="text/html" href="http://amos.sourceforge.net/wiki/index.php/Bambus_Manual"/>
				<updated>2011-01-07T14:48:11Z</updated>
		
		<summary type="html">&lt;p&gt;Dmb000006: /* .dot file */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
 | __TOC__&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The output of most shotgun sequence assembly programs (such as TIGR Assembler, phrap, or CAP3) consists in a set of un-related contigs, whose order and orientation along the chromosome is unknown. Scaffolding represents the task of ordering and orienting these contigs by using additional information about their relative placement. Traditionally such information was identified from the pairing of reads from the opposite ends of an insert in double-barelled shotgun experiments (see figure).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:scaffold image.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Besides clone mate information, homology data, physical maps, or gene synteny information can be used to derive relationships between contigs. BAMBUS is a program written to handle all such types of data in a generic fashion in order to build contig scaffolds. In order to account for the varied quality of linking information BAMBUS allows the user to specify a hierarchy that will consider the most reliable linking data first, then expand the scaffolds using less reliable data. This approach minimizes the effect of errors inherent to experimentally-derived linking information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Algorithm overview ===&lt;br /&gt;
&lt;br /&gt;
BAMBUS has two main modes of operation: hierarchical - when the links are considered in the order of their priorities, and standard - when all the links are considered at the same priority level. In the latter case, all links connecting two contigs are bundled together to form a &amp;quot;gap&amp;quot;, or &amp;quot;edge&amp;quot; if you look at the problem from a graph theoretical point of view. Each link is checked for validity before being added to a bundle. Thus, a link is considered invalid due to a length constraint if it forces the two contigs to overlap. In other words, if we assume the largest possible size for the insert corresponding to the link, if the coordinates of the mate-pair within the contigs force the contigs to overlap, we discard the link assuming it is due to a misassembly (Note: this behaviour can be specified on a link-by-link basis). Links that pass this test are further checked for consistency. If they do not all agree in the relative orientations of the contigs they imply, a majority rule is used to retain only those links that agree both in orientation and length. Furthermore, the bundle, or edge, is retained if it contains at least two links (this parameter, redundancy, can actually be tuned by the user). After this step is complete, the resulting graph gets traversed twice, once to assign consistent orientations to all the contigs, and the second time to determine the order of the contigs along the chromosome. Note that inconsistencies in order are currently allowed since they can provide finishing teams with useful information. In a future version of BAMBUS we will add an option to allow the generation of unambiguous scaffolds as well. Currently you can generate such unambiguous scaffolds using the [[#Untangling scaffolds|untangle]] program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
* Install AMOS&lt;br /&gt;
* Perl 5.6 or later&lt;br /&gt;
* [http://www.cpan.org/ XML::Parser] perl module&lt;br /&gt;
* [http://www.cpan.org/ Config::IniFiles] perl module&lt;br /&gt;
* [http://www.research.att.com/sw/tools/graphviz/ GraphViz] package&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Obtaining BAMBUS ===&lt;br /&gt;
&lt;br /&gt;
BAMBUS 2.3 is available free of charge under the open-source Artistic License.&lt;br /&gt;
&lt;br /&gt;
The Bambus source if freely available for download from the File Release Section of our SourceForge project page.&lt;br /&gt;
&lt;br /&gt;
To receive information regarding new releases and developments, please subscribe to our moderated, low-traffic users&amp;#039; mailing list:&lt;br /&gt;
&lt;br /&gt;
 amos-users(at)lists(dot)sourceforge(dot)net&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Actual installation ===&lt;br /&gt;
&lt;br /&gt;
1. Find a directory where you want the software installed. For example /users/home/CoolUser&lt;br /&gt;
&lt;br /&gt;
2. Place the tar file bambus-2.33.tar.gz in this directory&lt;br /&gt;
&lt;br /&gt;
3. Unpack the distribution&lt;br /&gt;
 % tar xvzf bambus-2.33.tar.gz&lt;br /&gt;
&lt;br /&gt;
4. Go into the newly created directory&lt;br /&gt;
 % cd bambus-2.33&lt;br /&gt;
&lt;br /&gt;
5. Carefully read the documentation&lt;br /&gt;
&lt;br /&gt;
6. Edit the file Makefile and change the value of BASEDIR to the correct installation path, for example:&lt;br /&gt;
 BASEDIR = /users/home/CoolUser&lt;br /&gt;
&lt;br /&gt;
7. Also check if the path for perl (in variable PERL) matches the one on your system. Several common options are:&lt;br /&gt;
 PERL = /usr/local/bin/perl&lt;br /&gt;
 PERL = /usr/bin/perl&lt;br /&gt;
&lt;br /&gt;
8. Type &amp;#039;gmake install&amp;#039; to have all the software installed. The executables will be in /users/home/CoolUser/bin/ and the documentation in /users/home/CoolUser/doc.&lt;br /&gt;
&lt;br /&gt;
9. To get started you can try out the small test dataset provided in data/test_run by typing:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -m test.mates -o test-bambus&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Running BAMBUS ==&lt;br /&gt;
&lt;br /&gt;
The input to Bambus consists in a set of links between contigs. These links can be inferred from the pairing of reads belonging to the same insert, from physical map data, or from alignment to another genome. To accomodate these types of sources of linking information, and to allow for further extensions, the input to Bambus is presented in a general purpose XML format. &lt;br /&gt;
&lt;br /&gt;
The following sections describe how the XML file can be generated for each type of linking data. For more information see [[#.evidence.xml|.evidence.xml]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Linking information is grouped into &amp;quot;libraries&amp;quot;. All links within a library have similar parameters. In the case of mate-pair linking information the libraries match the standard definition. For other linking data, for example MUMmer links, the library grouping reflects specific characteristics of the linking data. For example all MUMmer links are grouped within a library called &amp;quot;MUMmer&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Command line options ===&lt;br /&gt;
&lt;br /&gt;
Bambus consists in a collection of programs controlled by a script called goBambus. The execution is controlled by the following sets of parameters. To obtain a list of all parameters and basic help information you need to type:&lt;br /&gt;
&lt;br /&gt;
 goBambus -h&lt;br /&gt;
or&lt;br /&gt;
 goBambus -help&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Configuration options ====&lt;br /&gt;
&lt;br /&gt;
* -C &amp;lt;conf_file&amp;gt; . This parameter specifies the configuration file used by Bambus. A configuration file is not required, however it is useful if you want to change the default parameters. See [[#The configuration file|the configuration file]] for a detailed description of the configuration information.&lt;br /&gt;
&lt;br /&gt;
Whenever you run Bambus it will generate a default configuration file called default.conf. If you want to modify the parameters, you will need to rename this file and then edit it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Input Options ====&lt;br /&gt;
&lt;br /&gt;
* -a &amp;lt;asm_file&amp;gt; . Use a TIGR Assembler .asm file as source of linking information.&lt;br /&gt;
* -c &amp;lt;contig_file&amp;gt; . Use a GDE formatted .contig assembly file as source of linking information. The .contig files can be obtained either from TIGR Assembler output (by concatenating the contents of the .align directory) or by converting .ace files (created by phrap or Consed) using the [[ace2contig]] package.&lt;br /&gt;
* -x &amp;lt;xml_file&amp;gt;. Use additional XML formatted linking information. You can use the -x option multiple times. See [[#.evidence.xml|.evidence.xml]] for the XML file format.&lt;br /&gt;
* -mx &amp;lt;make_file&amp;gt;. Use a gmake compatible make file to specify how the additional XML information is generated. Each of the files created must end in &amp;quot;.xml&amp;quot;. Moreover, only the final XML targets are allowed to end in &amp;quot;.xml&amp;quot; to prevent goBambus from getting confused. See [[#Using Makefiles|using Makefiles]] for a more detailed description on using makefiles.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Mate-pair Information ====&lt;br /&gt;
&lt;br /&gt;
Assembly output (such as .asm and .contig files) does not generally contain any information about the pairing of reads coming from opposite ends of the same insert, nor about the membership of inserts to libraries. The following parameters specify how to obtain this mate-pair information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* -m &amp;lt;mates_file&amp;gt; . The mates file allows you to specify both library information and mate pairing information, using a system based on Perl regular expressions. See [[#The .mates file|the .mates file]].&lt;br /&gt;
* -D &amp;lt;database&amp;gt; . At TIGR, instead of a mates file you can opt to use a database to obtain library and mate information. Note that the -m and -D options are complementary. The following three parameters specify database options:&lt;br /&gt;
* -S &amp;lt;server&amp;gt; . Select a specific database server&lt;br /&gt;
* -U &amp;lt;user&amp;gt; . Log in with the specified user name&lt;br /&gt;
* -P &amp;lt;passwd&amp;gt; . Log in with the specified password&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Output Options ====&lt;br /&gt;
&lt;br /&gt;
* -o &amp;lt;output_prefix&amp;gt; . All the output file names will be generated from the &amp;lt;output_prefix&amp;gt; prefix.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Repeat Screening ====&lt;br /&gt;
&lt;br /&gt;
Misassembled repeats can confuse Bambus, therefore it makes sense to screen the known repeats that may be misassembled. Bambus can use two types of repeat screening information:&lt;br /&gt;
&lt;br /&gt;
* -r . Screen against the repeats listed in the database (option -D must be provided)&lt;br /&gt;
* -r &amp;lt;repfile&amp;gt; . Screen against repeats described in [[#Repeat files|repeat files]]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Flow-control ====&lt;br /&gt;
&lt;br /&gt;
* -start &amp;lt;num&amp;gt;&lt;br /&gt;
* -end &amp;lt;num&amp;gt;. The execution of Bambus consists in a set of steps. The user can choose to start or end at a specific step for example in the case when she modifies the configuration file and wants to re-run just the final steps of the scaffolders. This feature should be used with caution.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Typical use cases ===&lt;br /&gt;
==== Using assembler output ====&lt;br /&gt;
&lt;br /&gt;
For convenience, Bambus can use the output of an assembly program and automatically generate the required linking information. Two types of information are required:&lt;br /&gt;
&lt;br /&gt;
* the tiling of reads in the assembly&lt;br /&gt;
* information about the pairing of reads&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The first type of information can be obtained from the .asm or .contig output formats of TIGR Assembler. For more information about these file formats please refer to the [http://www.jcvi.org/cms/publications/listing/abstract/article/tigr-assembler-a-new-tool-for-assembling-large-shotgun-sequencing-projects/ TIGR Assembler documentation]. Note that the .contig file may be stripped of all sequence data as the only information used is that contained in the lines starting with #. In case you are using an assembler other than TIGR Assembler you may need to use the ta2ace package to convert the output into the .contig format.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The second type of information can be obtained from a [[#The .mates file|.mates file]], or from the database in case you are at TIGR.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A typical command line for someone outside of TIGR is:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -m test.mates -o test&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and the execution will generate the following files:&lt;br /&gt;
&lt;br /&gt;
* [[#.stats file|test.stats]] - statistics on scaffolds and libraries &lt;br /&gt;
* [[#.details file|test.details]] - detailed information about each contig pair (also called &amp;quot;gap&amp;quot;). &lt;br /&gt;
* [[#.dot file|test.dot]] - GraphViz formatted description of the contig linkage information.&lt;br /&gt;
* [[#.evidence.xml|test.evidence.xml]] - XML representation of all the linking evidence provided.&lt;br /&gt;
* [[#.out.xml|test.out.xml]] - XML representation of the scaffolds.&lt;br /&gt;
* [[#.ps file|test.lib]] - list of the codes associated with each input library. These codes are reported on the links in the output file. &amp;lt;!-- The link here looks wrong! --&amp;gt;&lt;br /&gt;
* [[#.sum file|test.sum]] - one-line sumaries of all scaffolds.&lt;br /&gt;
* [[#.oo file|test.oo]] - order and orientation information for all the contigs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Additionally, the program generates some &amp;quot;working&amp;quot; files that are currently not removed as they provide useful debugging information.&lt;br /&gt;
&lt;br /&gt;
* test.detective.xml - linking information derived from assembler input alone. It&amp;#039;s the same as test.evidence.xml unless additional XML files are provided in the input.&lt;br /&gt;
* test.inp - input to the core scaffolding engine.&lt;br /&gt;
* test.grommit.conf - configuration information for the scaffolding engine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To view the graphical output you need to convert it to Postscript with the command:&lt;br /&gt;
&lt;br /&gt;
 dot -Tps -o test.ps test.dot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then you can view the postscript file with the command:&lt;br /&gt;
&lt;br /&gt;
 gv test.ps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
At TIGR, instead of specifying a .mates file you can use the database:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -D gbx -U access -P access -o test&lt;br /&gt;
&lt;br /&gt;
==== Getting more (or less) information from the output ====&lt;br /&gt;
&lt;br /&gt;
You can modify the information you get in the output by directly calling the [[Bambus/printScaff|printScaff]] command.&lt;br /&gt;
&lt;br /&gt;
==== Adding additional XML linking information ====&lt;br /&gt;
&lt;br /&gt;
You can easily add additional linking information as long as it&amp;#039;s in a format similar to the [[#.evidence.xml file|.evidence.xml file]]. Assuming we have two such files &amp;quot;link1.xml&amp;quot; and &amp;quot;link2.xml&amp;quot; you can call Bambus as follows:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -m test.mates -x link1.xml -x link2.xml -o test&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The result being the same as if you concatenated the XML file inferred from the .contig file together with the two additional XML files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Using MUMmer links ====&lt;br /&gt;
&lt;br /&gt;
In case you are sequencing a genome for which a close relative has been completed, you can use [[MUMmer]] to infer links between contigs. Assume you have the reference genome in a file &amp;quot;ref.fasta&amp;quot; and all the contigs from the genome you are assembling in a file called &amp;quot;test.fasta&amp;quot;, you can run MUMmer to align the test genome to the reference:&lt;br /&gt;
&lt;br /&gt;
 nucmer -maxmatch ref.fasta test.fasta&lt;br /&gt;
&lt;br /&gt;
The output will be placed in a file called out.delta. You can then convert the alignment information into an XML file suitable for Bambus as follows:&lt;br /&gt;
&lt;br /&gt;
 show-tiling -x out.delta &amp;gt; test.mum.xml&lt;br /&gt;
&lt;br /&gt;
And finally you can provide this information to Bambus:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -m test.mates -x test.mum.xml -o test&lt;br /&gt;
&lt;br /&gt;
==== Using Makefiles ====&lt;br /&gt;
&lt;br /&gt;
If you have multiple XML files, it becomes tedious to generate each file separately and then provide them to Bambus with multiple -x options. You can create a Makefile compatible with GNU make that generates each of the XML files. You must be careful that the targets for all the XML files end in &amp;quot;.xml&amp;quot;, and no other targets (such as intermediate targets) have the same suffix. Bambus will assume that all .xml files produced by the Makefile must be added to the input.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An example of a simple Makefile that can generate the mummer information described above is:&lt;br /&gt;
&lt;br /&gt;
 test.mum.xml: ref.fasta test.fasta&lt;br /&gt;
 nucmer -a max-match ref.fasta test.fasta&lt;br /&gt;
 show-tiling -x out.delta &amp;gt; test.mum.xml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Untangling scaffolds ====&lt;br /&gt;
&lt;br /&gt;
By default, the scaffolds resulting from Bambus are potentially ambiguous as two or more contigs may occupy the same place in the genome. Such situations occur either due to misassembled repeats, or when assembling different haplotypes. Bambus contains a utility that does a best effort attempt to disambiguate the scaffolds, by breaking them into a set of non-ambiguous scaffolds. The algorithm is greedy and does not guarantee that an optimal solution (e.g. a minimum number of longest scaffolds) is produced.&lt;br /&gt;
&lt;br /&gt;
To run the untangler type:&lt;br /&gt;
&lt;br /&gt;
 untangle -e test.evidence.xml -s test.out.xml -o test.untangle.xml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The test.untangle.xml file has the same format as the output file ([[#.out.xml|.out.xml]]) and for each scaffold (e.g. scaff_1) contains one or more unambiguous scaffolds called &amp;quot;scaff_1_1, scaff_1_2, etc&amp;quot;. You can use the [[#Getting more (or less) information from the output|printScaff]] command to process the untangled file the same way you would process a normal Bambus output.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== File formats ==&lt;br /&gt;
&lt;br /&gt;
=== The configuration file ===&lt;br /&gt;
&lt;br /&gt;
Scaffolding parameters can be specified in a configuration file. Whenever you run Bambus a default configuration file is generated as default.conf. To create your own file you should rename this file then edit it. The following types of information can be specified:&lt;br /&gt;
&lt;br /&gt;
* Comments. Lines starting with # are considered comments and are ignored by the software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Priority information. Specifies an order in which the libraries are considered. For example, the following line specifies priority 2 for all MUMmer links. The libraries are considered in the increasing order of priorities.&lt;br /&gt;
&lt;br /&gt;
      priority MUMmer 2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If no configuration file is provided, all libraries are assumed to have the same priority. If a configuration file is provided, only those libraries that have a priority record are used in scaffolding. In other words, if a library has no priority record associated with it, it will not be used in scaffolding.&lt;br /&gt;
&lt;br /&gt;
A priority can also be specified for a specific redundancy parameter. For example, the following line specifies that those links between contigs supported by 4 or more sources of linking data should be processed at priority level 1. &lt;br /&gt;
&lt;br /&gt;
      priority redundancy 4 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note, however, that you need to also specify a set of libraries to be used at this priority level. A simple shortcut is specifying that all link classes should be processed at this redundancy.&lt;br /&gt;
&lt;br /&gt;
      priority ALL 1&lt;br /&gt;
      &lt;br /&gt;
&lt;br /&gt;
If you are uncertain of which libraries your project uses, run Bambus without a configuration file. The libraries will be listed in a file ending in &amp;quot;.libs&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Redundancy information. Specifies the minimum number of links required for a valid inter-contig link. You can specify this parameter as a global value:&lt;br /&gt;
&lt;br /&gt;
   redundancy 2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
that is, all contigs must be linked by at least two links. You can also specify a per-library value like below which says a single MUMmer link is required to link two contigs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   redundancy MUMmer 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Minimum scaffold size. Specifies a scaffold size cutoff. For example thisimplies that only scaffolds that contain more than 10kbp are present in the output.:&lt;br /&gt;
&lt;br /&gt;
      mingroupsize 10000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Link size error. For some link types, determining the exact link length can only be done within a certain error. This parameter specifies, as a percentage, the estimated error in size determination. For example, since MUMmer links make an assumption of evolutionary closeness between two genomes, the error associated with them should be proportional to the estimated evolutionary distance (as nucleotide % similarity) between the two genomes. For an error of 5% use this parameter: &lt;br /&gt;
&lt;br /&gt;
      error MUMmer 0.05&lt;br /&gt;
  &lt;br /&gt;
* Overlapping contigs allowed. For each library you can control the link validation process by specifying whether adjacent contigs are allowed to overlap or not. By default mate-pair links assume adjacent contigs do not overlap, while MUMmer links allow contigs to overlap. This is equivalent to the configuration parameters:&lt;br /&gt;
  &lt;br /&gt;
      overlaps lib_1 N&lt;br /&gt;
      overlaps MUMmer Y&lt;br /&gt;
&lt;br /&gt;
An example is provided in [[bambus.conf|data/sample_files/bambus.conf]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== The .mates file ===&lt;br /&gt;
&lt;br /&gt;
The .mates file provides two types of information: library data, and mate-pair relationships between reads.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Library data can be described in two formats:&lt;br /&gt;
 library	&amp;lt;name&amp;gt;	&amp;lt;min_size&amp;gt;	&amp;lt;max_size&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and&lt;br /&gt;
 library	&amp;lt;name&amp;gt;	&amp;lt;min_size&amp;gt;	&amp;lt;max_size&amp;gt;	&amp;lt;regexp&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Both formats require you to name each library and to provide a size range for the inserts belonging to it. The second format allows you to also provide a Perl regular expression that describes the naming convention for reads belonging to the library. The part of the sequence name that represents the library name must be placed within parentheses. As an example, the regular expression for TIGR sequences (where the library is specified by the first 4 characters) is:&lt;br /&gt;
 (....).*&lt;br /&gt;
&lt;br /&gt;
Mate-pair relationships can also be described in two ways:&lt;br /&gt;
 pair	&amp;lt;regexp_forw&amp;gt;	&amp;lt;regexp_rev&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
 &amp;lt;seq_forw_1&amp;gt;	&amp;lt;seq_rev_1&amp;gt;	&amp;lt;library_name&amp;gt;&lt;br /&gt;
 &amp;lt;seq_forw_2&amp;gt;	&amp;lt;seq_rev_2&amp;gt;	&amp;lt;library_name&amp;gt;&lt;br /&gt;
 &amp;lt;seq_forw_3&amp;gt;	&amp;lt;seq_rev_3&amp;gt;	&amp;lt;library_name&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
The first format requires two regular expressions corresponding to the forward and reverse mates of an insert. Just like the library record, the portion of the name corresponding to the insert name must be placed within parentheses. Two reads that match the two regular expressions, and have the exact same section matched within the parentheses will be considered mates. The library will be determined from the regular expression associated with a &amp;quot;library&amp;quot; record. As an example, at TIGR the first 7 characters represent the insert, then are followed by an optional T or P and the primer name (F or R for Forward or Reverse). The corresponding regular expression is:&lt;br /&gt;
 pair	(.......)[TP]?F	(.......)[TP]?R&lt;br /&gt;
&lt;br /&gt;
The second format is simply a list of sequence name pairs each followed by the name of the library they belong to. The corresponding library records must be listed in the file before the pairing data.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note that fields in the .mates file must be separated by TAB characters otherwise the program will report an error.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
An example of a .mates file using the phred/phrap naming convention is provided in [[bambus.mates|data/sample_files/bambus.mates]].&lt;br /&gt;
&lt;br /&gt;
=== Repeat files ===&lt;br /&gt;
&lt;br /&gt;
The repeat files used in screening linking data conform to the output standards of the repeatFinder program. The file contains 5 TAB-delimited values: contig ID, repeat name, left and right coordinates within the contig, and contig class. Only the first 4 values are essential as far as Bambus is concerned. Here is an example of repeat records:&lt;br /&gt;
&lt;br /&gt;
 AC009139.7.3 RPT1A 14554 96820 1&lt;br /&gt;
 AC026498.3.2 RPT1B 124208 206475 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .evidence.xml ===&lt;br /&gt;
&lt;br /&gt;
This provides an XML representation of the input file. Below is a description of the data presented in this file (see also an [[bambus.evidence.xml|example]]):&lt;br /&gt;
&lt;br /&gt;
The overall flow of the XML file is:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;EVIDENCE&amp;gt;&lt;br /&gt;
   &amp;lt;LIBRARY&amp;gt;&lt;br /&gt;
    &amp;lt;INSERT&amp;gt;&lt;br /&gt;
      &amp;lt;SEQUENCE/&amp;gt;&lt;br /&gt;
      &amp;lt;SEQUENCE/&amp;gt;&lt;br /&gt;
    &amp;lt;/INSERT&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
  &amp;lt;/LIBRARY&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;CONTIG&amp;gt;&lt;br /&gt;
    &amp;lt;SEQUENCE/&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
  &amp;lt;/CONTIG&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;LINK&amp;gt;&lt;br /&gt;
    &amp;lt;CONTIG/&amp;gt;&lt;br /&gt;
    &amp;lt;CONTIG/&amp;gt;&lt;br /&gt;
  &amp;lt;/LINK&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &amp;lt;/EVIDENCE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;EVIDENCE                        this is the parent tag - the whole document occurs within &amp;lt;EVIDENCE&amp;gt; and &amp;lt;/EVIDENCE&amp;gt;&lt;br /&gt;
  ID = &amp;quot;1&amp;quot;                        some identifier for the file&lt;br /&gt;
  DATE = &amp;quot;12/15/03&amp;quot;               date when file was created&lt;br /&gt;
  PROJECT = &amp;quot;MyProject&amp;quot;           verbose description of the project&lt;br /&gt;
  PARAMETERS = &amp;quot;&amp;quot;                 parameters used in creating this file&lt;br /&gt;
 &amp;gt;&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;LIBRARY                         for each shotgun library you need a separate library tag.&lt;br /&gt;
  ID = &amp;quot;lib_1&amp;quot;                    some identifier for the library&lt;br /&gt;
  NAME = &amp;quot;short&amp;quot;                  verbose name for the library&lt;br /&gt;
  MIN = &amp;quot;1200&amp;quot;                    minimum size of inserts in this library&lt;br /&gt;
  MAX = &amp;quot;3500&amp;quot;                    maximum size of inserts in this library&lt;br /&gt;
 &amp;gt;&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;INSERT                          the insert concept links together the two reads obtained from opposite ends of a clone insert&lt;br /&gt;
  ID=&amp;quot;ins_1&amp;quot;                      generic identifier for the insert&lt;br /&gt;
  NAME=&amp;quot;GALBZ92&amp;quot;                  verbose name for the insert&lt;br /&gt;
 &amp;gt; 	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SEQUENCE                        each insert contains two sequence reads obtained from to the opposite ends&lt;br /&gt;
  ID=&amp;quot;seq_1&amp;quot;                      generic identifier for the sequence&lt;br /&gt;
  NAME=&amp;quot;GALBZ92TF&amp;quot;                verbose name for the sequence&lt;br /&gt;
 &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;CONTIG                          Each contig in the assembly needs to be represented in the file&lt;br /&gt;
  ID=&amp;quot;contig_1&amp;quot;                   contig identifier&lt;br /&gt;
  NAME= &amp;quot;1&amp;quot;                       contig name (usually the same as the identifier)&lt;br /&gt;
  LEN=&amp;quot;12352&amp;quot;                     contig length in basepairs&lt;br /&gt;
 &amp;gt; 	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SEQUENCE                        each sequence in the contig is listed together with information about the position within the contig.&lt;br /&gt;
  ID=&amp;quot;seq_1&amp;quot;                      sequence identifier (must match one described in the library section)&lt;br /&gt;
  ORI=&amp;quot;BE&amp;quot;                        orientation of sequence: BE - forward, EB - reverse&lt;br /&gt;
  ASM_LEND=&amp;quot;0&amp;quot;                    coordinate of sequence&amp;#039;s left end within the contig&lt;br /&gt;
  ASM_REND=&amp;quot;525&amp;quot;                  coordinate of sequence&amp;#039;s right end within the contig&lt;br /&gt;
 &amp;gt; 	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;LINK                            this is a generic link between two contigs (i.e. not inferred from mate-pair data)&lt;br /&gt;
  ID = &amp;quot;link_1&amp;quot;                   link identifier&lt;br /&gt;
  SIZE = &amp;quot;-800&amp;quot;                   size of gap between the two contigs&lt;br /&gt;
  TYPE = &amp;quot;MUMmer&amp;quot;                 link type: links with the same type get grouped into a virtual &amp;quot;library&amp;quot; used in specifying priorities&lt;br /&gt;
 &amp;gt; 	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;CONTIG                          each link contains two contigs&lt;br /&gt;
  ID = &amp;quot;contig_1&amp;quot;                 contig identifier: must match one described in the contig section above&lt;br /&gt;
  ORI = &amp;quot;EB&amp;quot;                      contig orientation: BE - forward, EB - reverse&lt;br /&gt;
 &amp;gt; 	                          each contig record may contain free-form data specifying the evidence for linking: e.g. alignment data&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
=== .out.xml ===&lt;br /&gt;
&lt;br /&gt;
Represents, together with the evidence file, a description of the layout of the contigs. For each scaffold, the order (given as a coordinate along a chromosome) and the orientation of each contig is presented, together with a list of all the links used to generate this layout. Some links are deemed invalid, being given a code of &amp;quot;LEN&amp;quot; in case the length was deemed incorrect, or &amp;quot;ORI&amp;quot; in case the link orientation was considered incorrect. This file is also specified by the [[bambus.dtd|DTD]] and an example ([[bambus.out.xml|data/sample_files/bambus.out.xml]]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .stats file ===&lt;br /&gt;
&lt;br /&gt;
Finally, BAMBUS outputs a summary of the scaffolds generated. This file is pretty much self-explanatory, as evidenced by this example ([[bambus.stats|data/sample_files/bambus.stats]]). Note that in the .stats file, the N50 sizes are computed with respect to the total span of the scaffolds unless a different genome size is specified in a file called genome.size.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .details file ===&lt;br /&gt;
&lt;br /&gt;
The .details file contains detailed information about the linking information between adjacent contigs. The contigs&amp;#039; orientation, size, and coordinates are listed and then all the linking data grouped by validity and library. An example is provided in [[bambus.details|data/sample_files/bambus.details]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .dot file ===&lt;br /&gt;
&lt;br /&gt;
Represents a graphical representation of the scaffolds in GraphViz format. Please see the [http://www.research.att.com/sw/tools/graphviz/ AT&amp;amp;T GraphViz] website for more information on this file format.&lt;br /&gt;
&lt;br /&gt;
=== .lib file ===&lt;br /&gt;
Lists the libraries and their internal ID&amp;#039;s&lt;br /&gt;
&lt;br /&gt;
=== .ps file ===&lt;br /&gt;
&lt;br /&gt;
A postscript image generated from the GraphViz-formatted file. It can be obtained from the .dot file with the command:&lt;br /&gt;
 dot -Tps -o prefix.ps prefix.dot&lt;br /&gt;
&lt;br /&gt;
An example is given in the picture below.&lt;br /&gt;
[[Image:bambus-display.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Each scaffold is placed in a box, labeled with some statistics on the scaffold size (number of contigs, number of bases and span). All the &amp;quot;gaps&amp;quot; - linking relationships between the contigs are represented as edges. Each edge is decorated with the number of links contributing to it, the number of links from each library type, and the number of links invalidated due to incorrect length (L) or orientation (O). Each contig&amp;#039;s ID, size, and coordinates within the scaffold are also listed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .oo file ===&lt;br /&gt;
&lt;br /&gt;
This file contains a summary of the order and orientation of all contigs present in the data. Each scaffold starts with a FASTA-like header containing the identifier for the scaffold followed by the number of contigs, size and span. Within each scaffold, all contigs are listed in the scaffold order, followed by the string BE for those in the forward orientation and EB for those in the reverse orientation. An example file is shown in: [[bambus.oo|data/sample_files/bambus.oo]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .sum file ===&lt;br /&gt;
&lt;br /&gt;
This file contains one line for each scaffold. Each line contains the scaffold ID, number of contigs, scaffold size, and span. The four values are separated by TAB characters. See an example in [[bambus.sum|data/sample_files/bambus.sum]].&lt;br /&gt;
&lt;br /&gt;
== Known problems ==&lt;br /&gt;
There is a small &amp;quot;off-by-one&amp;quot; error in computing contig coordinates. It should not really affect the usefulness of the output.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Contact information ==&lt;br /&gt;
&lt;br /&gt;
BAMBUS is currently provided AS-IS, in other words we do not provide any support for the software. We would, however, like to hear your comments and suggestions.  For Bambus bug reports, support requests, or any other inquiries please browse our SourceForge project page or Email us at:&lt;br /&gt;
&lt;br /&gt;
  amos-help (at) lists (dot) sourceforge (dot) net&lt;br /&gt;
&lt;br /&gt;
BAMBUS was written by Mihai Pop and Dan Kosack.&lt;/div&gt;</summary>
		<author><name>Dmb000006</name></author>	</entry>

	<entry>
		<id>http://amos.sourceforge.net/wiki/index.php/Bambus_Manual</id>
		<title>Bambus Manual</title>
		<link rel="alternate" type="text/html" href="http://amos.sourceforge.net/wiki/index.php/Bambus_Manual"/>
				<updated>2011-01-07T13:30:33Z</updated>
		
		<summary type="html">&lt;p&gt;Dmb000006: /* Getting more (or less) information from the output */ Moving printScaff description onto a dedicated page. Wikis are good like this.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
 | __TOC__&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The output of most shotgun sequence assembly programs (such as TIGR Assembler, phrap, or CAP3) consists in a set of un-related contigs, whose order and orientation along the chromosome is unknown. Scaffolding represents the task of ordering and orienting these contigs by using additional information about their relative placement. Traditionally such information was identified from the pairing of reads from the opposite ends of an insert in double-barelled shotgun experiments (see figure).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:scaffold image.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Besides clone mate information, homology data, physical maps, or gene synteny information can be used to derive relationships between contigs. BAMBUS is a program written to handle all such types of data in a generic fashion in order to build contig scaffolds. In order to account for the varied quality of linking information BAMBUS allows the user to specify a hierarchy that will consider the most reliable linking data first, then expand the scaffolds using less reliable data. This approach minimizes the effect of errors inherent to experimentally-derived linking information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Algorithm overview ===&lt;br /&gt;
&lt;br /&gt;
BAMBUS has two main modes of operation: hierarchical - when the links are considered in the order of their priorities, and standard - when all the links are considered at the same priority level. In the latter case, all links connecting two contigs are bundled together to form a &amp;quot;gap&amp;quot;, or &amp;quot;edge&amp;quot; if you look at the problem from a graph theoretical point of view. Each link is checked for validity before being added to a bundle. Thus, a link is considered invalid due to a length constraint if it forces the two contigs to overlap. In other words, if we assume the largest possible size for the insert corresponding to the link, if the coordinates of the mate-pair within the contigs force the contigs to overlap, we discard the link assuming it is due to a misassembly (Note: this behaviour can be specified on a link-by-link basis). Links that pass this test are further checked for consistency. If they do not all agree in the relative orientations of the contigs they imply, a majority rule is used to retain only those links that agree both in orientation and length. Furthermore, the bundle, or edge, is retained if it contains at least two links (this parameter, redundancy, can actually be tuned by the user). After this step is complete, the resulting graph gets traversed twice, once to assign consistent orientations to all the contigs, and the second time to determine the order of the contigs along the chromosome. Note that inconsistencies in order are currently allowed since they can provide finishing teams with useful information. In a future version of BAMBUS we will add an option to allow the generation of unambiguous scaffolds as well. Currently you can generate such unambiguous scaffolds using the [[#Untangling scaffolds|untangle]] program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
* Install AMOS&lt;br /&gt;
* Perl 5.6 or later&lt;br /&gt;
* [http://www.cpan.org/ XML::Parser] perl module&lt;br /&gt;
* [http://www.cpan.org/ Config::IniFiles] perl module&lt;br /&gt;
* [http://www.research.att.com/sw/tools/graphviz/ GraphViz] package&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Obtaining BAMBUS ===&lt;br /&gt;
&lt;br /&gt;
BAMBUS 2.3 is available free of charge under the open-source Artistic License.&lt;br /&gt;
&lt;br /&gt;
The Bambus source if freely available for download from the File Release Section of our SourceForge project page.&lt;br /&gt;
&lt;br /&gt;
To receive information regarding new releases and developments, please subscribe to our moderated, low-traffic users&amp;#039; mailing list:&lt;br /&gt;
&lt;br /&gt;
 amos-users(at)lists(dot)sourceforge(dot)net&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Actual installation ===&lt;br /&gt;
&lt;br /&gt;
1. Find a directory where you want the software installed. For example /users/home/CoolUser&lt;br /&gt;
&lt;br /&gt;
2. Place the tar file bambus-2.33.tar.gz in this directory&lt;br /&gt;
&lt;br /&gt;
3. Unpack the distribution&lt;br /&gt;
 % tar xvzf bambus-2.33.tar.gz&lt;br /&gt;
&lt;br /&gt;
4. Go into the newly created directory&lt;br /&gt;
 % cd bambus-2.33&lt;br /&gt;
&lt;br /&gt;
5. Carefully read the documentation&lt;br /&gt;
&lt;br /&gt;
6. Edit the file Makefile and change the value of BASEDIR to the correct installation path, for example:&lt;br /&gt;
 BASEDIR = /users/home/CoolUser&lt;br /&gt;
&lt;br /&gt;
7. Also check if the path for perl (in variable PERL) matches the one on your system. Several common options are:&lt;br /&gt;
 PERL = /usr/local/bin/perl&lt;br /&gt;
 PERL = /usr/bin/perl&lt;br /&gt;
&lt;br /&gt;
8. Type &amp;#039;gmake install&amp;#039; to have all the software installed. The executables will be in /users/home/CoolUser/bin/ and the documentation in /users/home/CoolUser/doc.&lt;br /&gt;
&lt;br /&gt;
9. To get started you can try out the small test dataset provided in data/test_run by typing:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -m test.mates -o test-bambus&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Running BAMBUS ==&lt;br /&gt;
&lt;br /&gt;
The input to Bambus consists in a set of links between contigs. These links can be inferred from the pairing of reads belonging to the same insert, from physical map data, or from alignment to another genome. To accomodate these types of sources of linking information, and to allow for further extensions, the input to Bambus is presented in a general purpose XML format. &lt;br /&gt;
&lt;br /&gt;
The following sections describe how the XML file can be generated for each type of linking data. For more information see [[#.evidence.xml|.evidence.xml]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Linking information is grouped into &amp;quot;libraries&amp;quot;. All links within a library have similar parameters. In the case of mate-pair linking information the libraries match the standard definition. For other linking data, for example MUMmer links, the library grouping reflects specific characteristics of the linking data. For example all MUMmer links are grouped within a library called &amp;quot;MUMmer&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Command line options ===&lt;br /&gt;
&lt;br /&gt;
Bambus consists in a collection of programs controlled by a script called goBambus. The execution is controlled by the following sets of parameters. To obtain a list of all parameters and basic help information you need to type:&lt;br /&gt;
&lt;br /&gt;
 goBambus -h&lt;br /&gt;
or&lt;br /&gt;
 goBambus -help&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Configuration options ====&lt;br /&gt;
&lt;br /&gt;
* -C &amp;lt;conf_file&amp;gt; . This parameter specifies the configuration file used by Bambus. A configuration file is not required, however it is useful if you want to change the default parameters. See [[#The configuration file|the configuration file]] for a detailed description of the configuration information.&lt;br /&gt;
&lt;br /&gt;
Whenever you run Bambus it will generate a default configuration file called default.conf. If you want to modify the parameters, you will need to rename this file and then edit it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Input Options ====&lt;br /&gt;
&lt;br /&gt;
* -a &amp;lt;asm_file&amp;gt; . Use a TIGR Assembler .asm file as source of linking information.&lt;br /&gt;
* -c &amp;lt;contig_file&amp;gt; . Use a GDE formatted .contig assembly file as source of linking information. The .contig files can be obtained either from TIGR Assembler output (by concatenating the contents of the .align directory) or by converting .ace files (created by phrap or Consed) using the [[ace2contig]] package.&lt;br /&gt;
* -x &amp;lt;xml_file&amp;gt;. Use additional XML formatted linking information. You can use the -x option multiple times. See [[#.evidence.xml|.evidence.xml]] for the XML file format.&lt;br /&gt;
* -mx &amp;lt;make_file&amp;gt;. Use a gmake compatible make file to specify how the additional XML information is generated. Each of the files created must end in &amp;quot;.xml&amp;quot;. Moreover, only the final XML targets are allowed to end in &amp;quot;.xml&amp;quot; to prevent goBambus from getting confused. See [[#Using Makefiles|using Makefiles]] for a more detailed description on using makefiles.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Mate-pair Information ====&lt;br /&gt;
&lt;br /&gt;
Assembly output (such as .asm and .contig files) does not generally contain any information about the pairing of reads coming from opposite ends of the same insert, nor about the membership of inserts to libraries. The following parameters specify how to obtain this mate-pair information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* -m &amp;lt;mates_file&amp;gt; . The mates file allows you to specify both library information and mate pairing information, using a system based on Perl regular expressions. See [[#The .mates file|the .mates file]].&lt;br /&gt;
* -D &amp;lt;database&amp;gt; . At TIGR, instead of a mates file you can opt to use a database to obtain library and mate information. Note that the -m and -D options are complementary. The following three parameters specify database options:&lt;br /&gt;
* -S &amp;lt;server&amp;gt; . Select a specific database server&lt;br /&gt;
* -U &amp;lt;user&amp;gt; . Log in with the specified user name&lt;br /&gt;
* -P &amp;lt;passwd&amp;gt; . Log in with the specified password&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Output Options ====&lt;br /&gt;
&lt;br /&gt;
* -o &amp;lt;output_prefix&amp;gt; . All the output file names will be generated from the &amp;lt;output_prefix&amp;gt; prefix.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Repeat Screening ====&lt;br /&gt;
&lt;br /&gt;
Misassembled repeats can confuse Bambus, therefore it makes sense to screen the known repeats that may be misassembled. Bambus can use two types of repeat screening information:&lt;br /&gt;
&lt;br /&gt;
* -r . Screen against the repeats listed in the database (option -D must be provided)&lt;br /&gt;
* -r &amp;lt;repfile&amp;gt; . Screen against repeats described in [[#Repeat files|repeat files]]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Flow-control ====&lt;br /&gt;
&lt;br /&gt;
* -start &amp;lt;num&amp;gt;&lt;br /&gt;
* -end &amp;lt;num&amp;gt;. The execution of Bambus consists in a set of steps. The user can choose to start or end at a specific step for example in the case when she modifies the configuration file and wants to re-run just the final steps of the scaffolders. This feature should be used with caution.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Typical use cases ===&lt;br /&gt;
==== Using assembler output ====&lt;br /&gt;
&lt;br /&gt;
For convenience, Bambus can use the output of an assembly program and automatically generate the required linking information. Two types of information are required:&lt;br /&gt;
&lt;br /&gt;
* the tiling of reads in the assembly&lt;br /&gt;
* information about the pairing of reads&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The first type of information can be obtained from the .asm or .contig output formats of TIGR Assembler. For more information about these file formats please refer to the [http://www.jcvi.org/cms/publications/listing/abstract/article/tigr-assembler-a-new-tool-for-assembling-large-shotgun-sequencing-projects/ TIGR Assembler documentation]. Note that the .contig file may be stripped of all sequence data as the only information used is that contained in the lines starting with #. In case you are using an assembler other than TIGR Assembler you may need to use the ta2ace package to convert the output into the .contig format.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The second type of information can be obtained from a [[#The .mates file|.mates file]], or from the database in case you are at TIGR.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A typical command line for someone outside of TIGR is:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -m test.mates -o test&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and the execution will generate the following files:&lt;br /&gt;
&lt;br /&gt;
* [[#.stats file|test.stats]] - statistics on scaffolds and libraries &lt;br /&gt;
* [[#.details file|test.details]] - detailed information about each contig pair (also called &amp;quot;gap&amp;quot;). &lt;br /&gt;
* [[#.dot file|test.dot]] - GraphViz formatted description of the contig linkage information.&lt;br /&gt;
* [[#.evidence.xml|test.evidence.xml]] - XML representation of all the linking evidence provided.&lt;br /&gt;
* [[#.out.xml|test.out.xml]] - XML representation of the scaffolds.&lt;br /&gt;
* [[#.ps file|test.lib]] - list of the codes associated with each input library. These codes are reported on the links in the output file. &amp;lt;!-- The link here looks wrong! --&amp;gt;&lt;br /&gt;
* [[#.sum file|test.sum]] - one-line sumaries of all scaffolds.&lt;br /&gt;
* [[#.oo file|test.oo]] - order and orientation information for all the contigs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Additionally, the program generates some &amp;quot;working&amp;quot; files that are currently not removed as they provide useful debugging information.&lt;br /&gt;
&lt;br /&gt;
* test.detective.xml - linking information derived from assembler input alone. It&amp;#039;s the same as test.evidence.xml unless additional XML files are provided in the input.&lt;br /&gt;
* test.inp - input to the core scaffolding engine.&lt;br /&gt;
* test.grommit.conf - configuration information for the scaffolding engine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To view the graphical output you need to convert it to Postscript with the command:&lt;br /&gt;
&lt;br /&gt;
 dot -Tps -o test.ps test.dot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then you can view the postscript file with the command:&lt;br /&gt;
&lt;br /&gt;
 gv test.ps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
At TIGR, instead of specifying a .mates file you can use the database:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -D gbx -U access -P access -o test&lt;br /&gt;
&lt;br /&gt;
==== Getting more (or less) information from the output ====&lt;br /&gt;
&lt;br /&gt;
You can modify the information you get in the output by directly calling the [[Bambus/printScaff|printScaff]] command.&lt;br /&gt;
&lt;br /&gt;
==== Adding additional XML linking information ====&lt;br /&gt;
&lt;br /&gt;
You can easily add additional linking information as long as it&amp;#039;s in a format similar to the [[#.evidence.xml file|.evidence.xml file]]. Assuming we have two such files &amp;quot;link1.xml&amp;quot; and &amp;quot;link2.xml&amp;quot; you can call Bambus as follows:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -m test.mates -x link1.xml -x link2.xml -o test&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The result being the same as if you concatenated the XML file inferred from the .contig file together with the two additional XML files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Using MUMmer links ====&lt;br /&gt;
&lt;br /&gt;
In case you are sequencing a genome for which a close relative has been completed, you can use [[MUMmer]] to infer links between contigs. Assume you have the reference genome in a file &amp;quot;ref.fasta&amp;quot; and all the contigs from the genome you are assembling in a file called &amp;quot;test.fasta&amp;quot;, you can run MUMmer to align the test genome to the reference:&lt;br /&gt;
&lt;br /&gt;
 nucmer -maxmatch ref.fasta test.fasta&lt;br /&gt;
&lt;br /&gt;
The output will be placed in a file called out.delta. You can then convert the alignment information into an XML file suitable for Bambus as follows:&lt;br /&gt;
&lt;br /&gt;
 show-tiling -x out.delta &amp;gt; test.mum.xml&lt;br /&gt;
&lt;br /&gt;
And finally you can provide this information to Bambus:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -m test.mates -x test.mum.xml -o test&lt;br /&gt;
&lt;br /&gt;
==== Using Makefiles ====&lt;br /&gt;
&lt;br /&gt;
If you have multiple XML files, it becomes tedious to generate each file separately and then provide them to Bambus with multiple -x options. You can create a Makefile compatible with GNU make that generates each of the XML files. You must be careful that the targets for all the XML files end in &amp;quot;.xml&amp;quot;, and no other targets (such as intermediate targets) have the same suffix. Bambus will assume that all .xml files produced by the Makefile must be added to the input.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An example of a simple Makefile that can generate the mummer information described above is:&lt;br /&gt;
&lt;br /&gt;
 test.mum.xml: ref.fasta test.fasta&lt;br /&gt;
 nucmer -a max-match ref.fasta test.fasta&lt;br /&gt;
 show-tiling -x out.delta &amp;gt; test.mum.xml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Untangling scaffolds ====&lt;br /&gt;
&lt;br /&gt;
By default, the scaffolds resulting from Bambus are potentially ambiguous as two or more contigs may occupy the same place in the genome. Such situations occur either due to misassembled repeats, or when assembling different haplotypes. Bambus contains a utility that does a best effort attempt to disambiguate the scaffolds, by breaking them into a set of non-ambiguous scaffolds. The algorithm is greedy and does not guarantee that an optimal solution (e.g. a minimum number of longest scaffolds) is produced.&lt;br /&gt;
&lt;br /&gt;
To run the untangler type:&lt;br /&gt;
&lt;br /&gt;
 untangle -e test.evidence.xml -s test.out.xml -o test.untangle.xml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The test.untangle.xml file has the same format as the output file ([[#.out.xml|.out.xml]]) and for each scaffold (e.g. scaff_1) contains one or more unambiguous scaffolds called &amp;quot;scaff_1_1, scaff_1_2, etc&amp;quot;. You can use the [[#Getting more (or less) information from the output|printScaff]] command to process the untangled file the same way you would process a normal Bambus output.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== File formats ==&lt;br /&gt;
&lt;br /&gt;
=== The configuration file ===&lt;br /&gt;
&lt;br /&gt;
Scaffolding parameters can be specified in a configuration file. Whenever you run Bambus a default configuration file is generated as default.conf. To create your own file you should rename this file then edit it. The following types of information can be specified:&lt;br /&gt;
&lt;br /&gt;
* Comments. Lines starting with # are considered comments and are ignored by the software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Priority information. Specifies an order in which the libraries are considered. For example, the following line specifies priority 2 for all MUMmer links. The libraries are considered in the increasing order of priorities.&lt;br /&gt;
&lt;br /&gt;
      priority MUMmer 2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If no configuration file is provided, all libraries are assumed to have the same priority. If a configuration file is provided, only those libraries that have a priority record are used in scaffolding. In other words, if a library has no priority record associated with it, it will not be used in scaffolding.&lt;br /&gt;
&lt;br /&gt;
A priority can also be specified for a specific redundancy parameter. For example, the following line specifies that those links between contigs supported by 4 or more sources of linking data should be processed at priority level 1. &lt;br /&gt;
&lt;br /&gt;
      priority redundancy 4 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note, however, that you need to also specify a set of libraries to be used at this priority level. A simple shortcut is specifying that all link classes should be processed at this redundancy.&lt;br /&gt;
&lt;br /&gt;
      priority ALL 1&lt;br /&gt;
      &lt;br /&gt;
&lt;br /&gt;
If you are uncertain of which libraries your project uses, run Bambus without a configuration file. The libraries will be listed in a file ending in &amp;quot;.libs&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Redundancy information. Specifies the minimum number of links required for a valid inter-contig link. You can specify this parameter as a global value:&lt;br /&gt;
&lt;br /&gt;
   redundancy 2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
that is, all contigs must be linked by at least two links. You can also specify a per-library value like below which says a single MUMmer link is required to link two contigs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   redundancy MUMmer 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Minimum scaffold size. Specifies a scaffold size cutoff. For example thisimplies that only scaffolds that contain more than 10kbp are present in the output.:&lt;br /&gt;
&lt;br /&gt;
      mingroupsize 10000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Link size error. For some link types, determining the exact link length can only be done within a certain error. This parameter specifies, as a percentage, the estimated error in size determination. For example, since MUMmer links make an assumption of evolutionary closeness between two genomes, the error associated with them should be proportional to the estimated evolutionary distance (as nucleotide % similarity) between the two genomes. For an error of 5% use this parameter: &lt;br /&gt;
&lt;br /&gt;
      error MUMmer 0.05&lt;br /&gt;
  &lt;br /&gt;
* Overlapping contigs allowed. For each library you can control the link validation process by specifying whether adjacent contigs are allowed to overlap or not. By default mate-pair links assume adjacent contigs do not overlap, while MUMmer links allow contigs to overlap. This is equivalent to the configuration parameters:&lt;br /&gt;
  &lt;br /&gt;
      overlaps lib_1 N&lt;br /&gt;
      overlaps MUMmer Y&lt;br /&gt;
&lt;br /&gt;
An example is provided in [[bambus.conf|data/sample_files/bambus.conf]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== The .mates file ===&lt;br /&gt;
&lt;br /&gt;
The .mates file provides two types of information: library data, and mate-pair relationships between reads.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Library data can be described in two formats:&lt;br /&gt;
 library	&amp;lt;name&amp;gt;	&amp;lt;min_size&amp;gt;	&amp;lt;max_size&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and&lt;br /&gt;
 library	&amp;lt;name&amp;gt;	&amp;lt;min_size&amp;gt;	&amp;lt;max_size&amp;gt;	&amp;lt;regexp&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Both formats require you to name each library and to provide a size range for the inserts belonging to it. The second format allows you to also provide a Perl regular expression that describes the naming convention for reads belonging to the library. The part of the sequence name that represents the library name must be placed within parentheses. As an example, the regular expression for TIGR sequences (where the library is specified by the first 4 characters) is:&lt;br /&gt;
 (....).*&lt;br /&gt;
&lt;br /&gt;
Mate-pair relationships can also be described in two ways:&lt;br /&gt;
 pair	&amp;lt;regexp_forw&amp;gt;	&amp;lt;regexp_rev&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
 &amp;lt;seq_forw_1&amp;gt;	&amp;lt;seq_rev_1&amp;gt;	&amp;lt;library_name&amp;gt;&lt;br /&gt;
 &amp;lt;seq_forw_2&amp;gt;	&amp;lt;seq_rev_2&amp;gt;	&amp;lt;library_name&amp;gt;&lt;br /&gt;
 &amp;lt;seq_forw_3&amp;gt;	&amp;lt;seq_rev_3&amp;gt;	&amp;lt;library_name&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
The first format requires two regular expressions corresponding to the forward and reverse mates of an insert. Just like the library record, the portion of the name corresponding to the insert name must be placed within parentheses. Two reads that match the two regular expressions, and have the exact same section matched within the parentheses will be considered mates. The library will be determined from the regular expression associated with a &amp;quot;library&amp;quot; record. As an example, at TIGR the first 7 characters represent the insert, then are followed by an optional T or P and the primer name (F or R for Forward or Reverse). The corresponding regular expression is:&lt;br /&gt;
 pair	(.......)[TP]?F	(.......)[TP]?R&lt;br /&gt;
&lt;br /&gt;
The second format is simply a list of sequence name pairs each followed by the name of the library they belong to. The corresponding library records must be listed in the file before the pairing data.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note that fields in the .mates file must be separated by TAB characters otherwise the program will report an error.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
An example of a .mates file using the phred/phrap naming convention is provided in [[bambus.mates|data/sample_files/bambus.mates]].&lt;br /&gt;
&lt;br /&gt;
=== Repeat files ===&lt;br /&gt;
&lt;br /&gt;
The repeat files used in screening linking data conform to the output standards of the repeatFinder program. The file contains 5 TAB-delimited values: contig ID, repeat name, left and right coordinates within the contig, and contig class. Only the first 4 values are essential as far as Bambus is concerned. Here is an example of repeat records:&lt;br /&gt;
&lt;br /&gt;
 AC009139.7.3 RPT1A 14554 96820 1&lt;br /&gt;
 AC026498.3.2 RPT1B 124208 206475 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .evidence.xml ===&lt;br /&gt;
&lt;br /&gt;
This provides an XML representation of the input file. Below is a description of the data presented in this file (see also an [[bambus.evidence.xml|example]]):&lt;br /&gt;
&lt;br /&gt;
The overall flow of the XML file is:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;EVIDENCE&amp;gt;&lt;br /&gt;
   &amp;lt;LIBRARY&amp;gt;&lt;br /&gt;
    &amp;lt;INSERT&amp;gt;&lt;br /&gt;
      &amp;lt;SEQUENCE/&amp;gt;&lt;br /&gt;
      &amp;lt;SEQUENCE/&amp;gt;&lt;br /&gt;
    &amp;lt;/INSERT&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
  &amp;lt;/LIBRARY&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;CONTIG&amp;gt;&lt;br /&gt;
    &amp;lt;SEQUENCE/&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
  &amp;lt;/CONTIG&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;LINK&amp;gt;&lt;br /&gt;
    &amp;lt;CONTIG/&amp;gt;&lt;br /&gt;
    &amp;lt;CONTIG/&amp;gt;&lt;br /&gt;
  &amp;lt;/LINK&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &amp;lt;/EVIDENCE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;EVIDENCE                        this is the parent tag - the whole document occurs within &amp;lt;EVIDENCE&amp;gt; and &amp;lt;/EVIDENCE&amp;gt;&lt;br /&gt;
  ID = &amp;quot;1&amp;quot;                        some identifier for the file&lt;br /&gt;
  DATE = &amp;quot;12/15/03&amp;quot;               date when file was created&lt;br /&gt;
  PROJECT = &amp;quot;MyProject&amp;quot;           verbose description of the project&lt;br /&gt;
  PARAMETERS = &amp;quot;&amp;quot;                 parameters used in creating this file&lt;br /&gt;
 &amp;gt;&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;LIBRARY                         for each shotgun library you need a separate library tag.&lt;br /&gt;
  ID = &amp;quot;lib_1&amp;quot;                    some identifier for the library&lt;br /&gt;
  NAME = &amp;quot;short&amp;quot;                  verbose name for the library&lt;br /&gt;
  MIN = &amp;quot;1200&amp;quot;                    minimum size of inserts in this library&lt;br /&gt;
  MAX = &amp;quot;3500&amp;quot;                    maximum size of inserts in this library&lt;br /&gt;
 &amp;gt;&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;INSERT                          the insert concept links together the two reads obtained from opposite ends of a clone insert&lt;br /&gt;
  ID=&amp;quot;ins_1&amp;quot;                      generic identifier for the insert&lt;br /&gt;
  NAME=&amp;quot;GALBZ92&amp;quot;                  verbose name for the insert&lt;br /&gt;
 &amp;gt; 	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SEQUENCE                        each insert contains two sequence reads obtained from to the opposite ends&lt;br /&gt;
  ID=&amp;quot;seq_1&amp;quot;                      generic identifier for the sequence&lt;br /&gt;
  NAME=&amp;quot;GALBZ92TF&amp;quot;                verbose name for the sequence&lt;br /&gt;
 &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;CONTIG                          Each contig in the assembly needs to be represented in the file&lt;br /&gt;
  ID=&amp;quot;contig_1&amp;quot;                   contig identifier&lt;br /&gt;
  NAME= &amp;quot;1&amp;quot;                       contig name (usually the same as the identifier)&lt;br /&gt;
  LEN=&amp;quot;12352&amp;quot;                     contig length in basepairs&lt;br /&gt;
 &amp;gt; 	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SEQUENCE                        each sequence in the contig is listed together with information about the position within the contig.&lt;br /&gt;
  ID=&amp;quot;seq_1&amp;quot;                      sequence identifier (must match one described in the library section)&lt;br /&gt;
  ORI=&amp;quot;BE&amp;quot;                        orientation of sequence: BE - forward, EB - reverse&lt;br /&gt;
  ASM_LEND=&amp;quot;0&amp;quot;                    coordinate of sequence&amp;#039;s left end within the contig&lt;br /&gt;
  ASM_REND=&amp;quot;525&amp;quot;                  coordinate of sequence&amp;#039;s right end within the contig&lt;br /&gt;
 &amp;gt; 	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;LINK                            this is a generic link between two contigs (i.e. not inferred from mate-pair data)&lt;br /&gt;
  ID = &amp;quot;link_1&amp;quot;                   link identifier&lt;br /&gt;
  SIZE = &amp;quot;-800&amp;quot;                   size of gap between the two contigs&lt;br /&gt;
  TYPE = &amp;quot;MUMmer&amp;quot;                 link type: links with the same type get grouped into a virtual &amp;quot;library&amp;quot; used in specifying priorities&lt;br /&gt;
 &amp;gt; 	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;CONTIG                          each link contains two contigs&lt;br /&gt;
  ID = &amp;quot;contig_1&amp;quot;                 contig identifier: must match one described in the contig section above&lt;br /&gt;
  ORI = &amp;quot;EB&amp;quot;                      contig orientation: BE - forward, EB - reverse&lt;br /&gt;
 &amp;gt; 	                          each contig record may contain free-form data specifying the evidence for linking: e.g. alignment data&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
=== .out.xml ===&lt;br /&gt;
&lt;br /&gt;
Represents, together with the evidence file, a description of the layout of the contigs. For each scaffold, the order (given as a coordinate along a chromosome) and the orientation of each contig is presented, together with a list of all the links used to generate this layout. Some links are deemed invalid, being given a code of &amp;quot;LEN&amp;quot; in case the length was deemed incorrect, or &amp;quot;ORI&amp;quot; in case the link orientation was considered incorrect. This file is also specified by the [[bambus.dtd|DTD]] and an example ([[bambus.out.xml|data/sample_files/bambus.out.xml]]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .stats file ===&lt;br /&gt;
&lt;br /&gt;
Finally, BAMBUS outputs a summary of the scaffolds generated. This file is pretty much self-explanatory, as evidenced by this example ([[bambus.stats|data/sample_files/bambus.stats]]). Note that in the .stats file, the N50 sizes are computed with respect to the total span of the scaffolds unless a different genome size is specified in a file called genome.size.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .details file ===&lt;br /&gt;
&lt;br /&gt;
The .details file contains detailed information about the linking information between adjacent contigs. The contigs&amp;#039; orientation, size, and coordinates are listed and then all the linking data grouped by validity and library. An example is provided in [[bambus.details|data/sample_files/bambus.details]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .dot file ===&lt;br /&gt;
&lt;br /&gt;
Represents a graphical representation of the scaffolds in GraphViz format. Please see the [http://www.research.att.com/sw/tools/graphviz/ AT&amp;amp;T GraphViz] website for more information on this file format.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .ps file ===&lt;br /&gt;
&lt;br /&gt;
A postscript image generated from the GraphViz-formatted file. It can be obtained from the .dot file with the command:&lt;br /&gt;
 dot -Tps -o prefix.ps prefix.dot&lt;br /&gt;
&lt;br /&gt;
An example is given in the picture below.&lt;br /&gt;
[[Image:bambus-display.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Each scaffold is placed in a box, labeled with some statistics on the scaffold size (number of contigs, number of bases and span). All the &amp;quot;gaps&amp;quot; - linking relationships between the contigs are represented as edges. Each edge is decorated with the number of links contributing to it, the number of links from each library type, and the number of links invalidated due to incorrect length (L) or orientation (O). Each contig&amp;#039;s ID, size, and coordinates within the scaffold are also listed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .oo file ===&lt;br /&gt;
&lt;br /&gt;
This file contains a summary of the order and orientation of all contigs present in the data. Each scaffold starts with a FASTA-like header containing the identifier for the scaffold followed by the number of contigs, size and span. Within each scaffold, all contigs are listed in the scaffold order, followed by the string BE for those in the forward orientation and EB for those in the reverse orientation. An example file is shown in: [[bambus.oo|data/sample_files/bambus.oo]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .sum file ===&lt;br /&gt;
&lt;br /&gt;
This file contains one line for each scaffold. Each line contains the scaffold ID, number of contigs, scaffold size, and span. The four values are separated by TAB characters. See an example in [[bambus.sum|data/sample_files/bambus.sum]].&lt;br /&gt;
&lt;br /&gt;
== Known problems ==&lt;br /&gt;
There is a small &amp;quot;off-by-one&amp;quot; error in computing contig coordinates. It should not really affect the usefulness of the output.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Contact information ==&lt;br /&gt;
&lt;br /&gt;
BAMBUS is currently provided AS-IS, in other words we do not provide any support for the software. We would, however, like to hear your comments and suggestions.  For Bambus bug reports, support requests, or any other inquiries please browse our SourceForge project page or Email us at:&lt;br /&gt;
&lt;br /&gt;
  amos-help (at) lists (dot) sourceforge (dot) net&lt;br /&gt;
&lt;br /&gt;
BAMBUS was written by Mihai Pop and Dan Kosack.&lt;/div&gt;</summary>
		<author><name>Dmb000006</name></author>	</entry>

	<entry>
		<id>http://amos.sourceforge.net/wiki/index.php/Bambus_2.0/quick_start_guide</id>
		<title>Bambus 2.0/quick start guide</title>
		<link rel="alternate" type="text/html" href="http://amos.sourceforge.net/wiki/index.php/Bambus_2.0/quick_start_guide"/>
				<updated>2010-12-16T16:17:44Z</updated>
		
		<summary type="html">&lt;p&gt;Dmb000006: /* Running Bambus 2.0 */ +formattting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a copy of the Bambus 2 user guide taken (and improved) from here: http://www.cbcb.umd.edu/software/bambus/doc/HowToBambus2.pdf&lt;br /&gt;
&lt;br /&gt;
See also: http://www.cbcb.umd.edu/software/bambus&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==How to run Bambus 2.0==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Caveat:&amp;#039;&amp;#039;&amp;#039; Bambus is still being actively developed and the code is currently in the &amp;quot;user beware&amp;quot; and &amp;quot;for experts only&amp;quot; stage.&lt;br /&gt;
&lt;br /&gt;
=== Step 1. Install the AMOS package - Bambus 2.0 is part of it. ===&lt;br /&gt;
See [[AMOS Getting Started]].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; since Bambus is still under active development you should pull the latest unofficial release of AMOS directly from the CVS repository - see instructions at: [[Programmer&amp;#039;s guide]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Step 2. What information you need ===&lt;br /&gt;
Bambus needs to know about the contigs produced by the assembler and information about how these contigs are linked to each other. In AMOS terms, the basic information necessary are a list of contigs (http://amos.sourceforge.net/docs/api/classAMOS_1_1Contig__t.html) and a list of contig links (http://amos.sourceforge.net/docs/api/classAMOS_1_1ContigLink__t.html) or contig edges (http://amos.sourceforge.net/docs/api/classAMOS_1_1ContigEdge__t.html - bundles of consistent contig links) indicating the relative placement of pairs of contigs.&lt;br /&gt;
&lt;br /&gt;
These data can either be provided to Bambus directly in the form of a AMOS message file (see [[Message Types]]) or inferred from mate-pair information as described below.&lt;br /&gt;
&lt;br /&gt;
== Running Bambus 2.0 ==&lt;br /&gt;
* First, add the .afg file built as described above (for other conversion utilities see: http://sourceforge.net/apps/mediawiki/amos/index.php?title=File_conversion_utilities) to an AMOS bank (flat-file database):&lt;br /&gt;
 bank-transact -cf myproj.bnk -m myfile.afg&lt;br /&gt;
&lt;br /&gt;
* Use the mate-pair information to construct a collection of contig links.&lt;br /&gt;
 clk -b myproj.bnk&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; that you can also construct these links with your own custom software and upload them into the bank in which case you would skip the &amp;quot;clk&amp;quot; command.&lt;br /&gt;
&lt;br /&gt;
* Bundle the contig links into a collection of contig edges.&lt;br /&gt;
 Bundler -b myproj.bnk&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; as with the clk command you might want to build the contig edges separately and upload them into the bank using your own software.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; the Bundler command also accepts the command line parameter &amp;quot;-t&amp;quot; followed by a list of edge types as defined in src/AMOS/Link_AMOS.hh. Currently the following types are defined: &amp;#039;&amp;#039;&amp;#039;M&amp;#039;&amp;#039;&amp;#039; - mate-pair, &amp;#039;&amp;#039;&amp;#039;O&amp;#039;&amp;#039;&amp;#039; - overlap, &amp;#039;&amp;#039;&amp;#039;P&amp;#039;&amp;#039;&amp;#039; - physical, &amp;#039;&amp;#039;&amp;#039;A&amp;#039;&amp;#039;&amp;#039; - alignment, &amp;#039;&amp;#039;&amp;#039;S&amp;#039;&amp;#039;&amp;#039; - synteny, and &amp;#039;&amp;#039;&amp;#039;X&amp;#039;&amp;#039;&amp;#039; - other.&lt;br /&gt;
&lt;br /&gt;
* Identify genomic repeats and output them to std out&lt;br /&gt;
 MarkRepeats -b myproj.bnk [-redundancy X -aggressive] &amp;gt; myRepeats&lt;br /&gt;
&lt;br /&gt;
Optional parameters:&lt;br /&gt;
:&amp;quot;-redundancy X&amp;quot; only uses contig edges comprising X or more contig links&lt;br /&gt;
:&amp;quot;-aggressive&amp;quot; - aggressive repeat identification based on global depth of coverage statistics (default procedure relies on graph analysis rather than coverage statistics)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; this program requires the boost library&lt;br /&gt;
&lt;br /&gt;
* Order and orient contigs according to repeat and link information&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;IMPORTANT:&amp;#039;&amp;#039;&amp;#039; several of the operations performed by this program destructively modify the bank (changes cannot be undone). You should make a copy of the bank prior to running OrientContigs.&lt;br /&gt;
&lt;br /&gt;
 OrientContigs -b myproj.bnk -prefix myscaff&lt;br /&gt;
&lt;br /&gt;
:&amp;quot;-prefix&amp;quot; specifies the prefix for all output files&lt;br /&gt;
&lt;br /&gt;
Optional parameters:&lt;br /&gt;
:&amp;quot;-all&amp;quot; - output unlinked contigs as scaffolds&lt;br /&gt;
:&amp;quot;-noreduce&amp;quot; - turns off graph simplification routines (see below)&lt;br /&gt;
:&amp;quot;-redundancy X&amp;quot; - same as above - ignore edges with less than X links&lt;br /&gt;
:&amp;quot;-repeats filename&amp;quot; - ignores repeats listed in &amp;quot;filename&amp;quot; (one contig ID per line) as generated, e.g. by the MarkRepeats :program described above.&lt;br /&gt;
:&amp;quot;-aggressive&amp;quot; - aggressive scaffolding - by default links that are stretched by more than 3 standard deviations are ignored. Aggressive option turns this feature off and tries to reconcile the scaffold as best possible.&lt;br /&gt;
&lt;br /&gt;
* Linearize the scaffolds (if desired). By default Bambus 2 produces non-linear graph-based scaffolds. If fasta output is desired, it is necessary to linearize the scaffolds.&lt;br /&gt;
 untangle -e myscaff.evidence.xml -s myscaff.out.xml -o myscaff.untangle.xml&lt;br /&gt;
&lt;br /&gt;
* Output fasta result (if desired). This involves two steps, the first to generating the fasta file representing the contigs and the second combines them, separated by Ns, into a scaffold fasta file.&lt;br /&gt;
 bank2fasta -d -b myproj.bnk &amp;gt; contigs.fasta&lt;br /&gt;
 printScaff -e myscaff.evidence.xml -s myscaff.untangle.xml -l myscaff.library -f contigs.fasta -merge -o myscaff&lt;br /&gt;
&lt;br /&gt;
== Outputs ==&lt;br /&gt;
The output of the OrientContigs program is a collection of scaffolds stored in the bank. The program also generates several files starting with the specified prefix&lt;br /&gt;
*myScaff.agp&lt;br /&gt;
**The scaffolds generated by the OrientContigs programs in NCBI AGP format&lt;br /&gt;
*myScaff.dot&lt;br /&gt;
**The scaffolds generated by the OrientContigs program in Graphviz dot format. It can be converted to a PostScript or PDF file using the dot program in the Graphviz package.&lt;br /&gt;
*myScaff.evidence.xml&lt;br /&gt;
*myScaff.library&lt;br /&gt;
*myScaff.out.xml&lt;br /&gt;
**The scaffolds generated by the OrientContigs program compatible with the Bambus 1 format.&lt;br /&gt;
*myScaff.fasta&lt;br /&gt;
**The fasta file of the scaffolds, joined by Ns&lt;br /&gt;
*myScaff.stats&lt;br /&gt;
**Statistics on the scaffolds generated, including N50 and total span.&lt;br /&gt;
&lt;br /&gt;
=== Scaffold simplifications ===&lt;br /&gt;
By default (unless option &amp;quot;-noreduce&amp;quot; is provided) the OrientContigs program simplifies certain&lt;br /&gt;
graph patterns:&lt;br /&gt;
* simple paths&lt;br /&gt;
* bubbles&lt;br /&gt;
** These patterns are iteratively merged into single contigs until no additional simplifications can be made.&lt;/div&gt;</summary>
		<author><name>Dmb000006</name></author>	</entry>

	<entry>
		<id>http://amos.sourceforge.net/wiki/index.php/Bambus_2.0/quick_start_guide</id>
		<title>Bambus 2.0/quick start guide</title>
		<link rel="alternate" type="text/html" href="http://amos.sourceforge.net/wiki/index.php/Bambus_2.0/quick_start_guide"/>
				<updated>2010-12-16T16:16:12Z</updated>
		
		<summary type="html">&lt;p&gt;Dmb000006: /* How to run Bambus 2.0 */ May as well convert links to the wiki into wiki links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a copy of the Bambus 2 user guide taken (and improved) from here: http://www.cbcb.umd.edu/software/bambus/doc/HowToBambus2.pdf&lt;br /&gt;
&lt;br /&gt;
See also: http://www.cbcb.umd.edu/software/bambus&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==How to run Bambus 2.0==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Caveat:&amp;#039;&amp;#039;&amp;#039; Bambus is still being actively developed and the code is currently in the &amp;quot;user beware&amp;quot; and &amp;quot;for experts only&amp;quot; stage.&lt;br /&gt;
&lt;br /&gt;
=== Step 1. Install the AMOS package - Bambus 2.0 is part of it. ===&lt;br /&gt;
See [[AMOS Getting Started]].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; since Bambus is still under active development you should pull the latest unofficial release of AMOS directly from the CVS repository - see instructions at: [[Programmer&amp;#039;s guide]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Step 2. What information you need ===&lt;br /&gt;
Bambus needs to know about the contigs produced by the assembler and information about how these contigs are linked to each other. In AMOS terms, the basic information necessary are a list of contigs (http://amos.sourceforge.net/docs/api/classAMOS_1_1Contig__t.html) and a list of contig links (http://amos.sourceforge.net/docs/api/classAMOS_1_1ContigLink__t.html) or contig edges (http://amos.sourceforge.net/docs/api/classAMOS_1_1ContigEdge__t.html - bundles of consistent contig links) indicating the relative placement of pairs of contigs.&lt;br /&gt;
&lt;br /&gt;
These data can either be provided to Bambus directly in the form of a AMOS message file (see [[Message Types]]) or inferred from mate-pair information as described below.&lt;br /&gt;
&lt;br /&gt;
== Running Bambus 2.0 ==&lt;br /&gt;
* First, add the .afg file built as described above (for other conversion utilities see: http://sourceforge.net/apps/mediawiki/amos/index.php?title=File_conversion_utilities) to an AMOS bank (flat-file database):&lt;br /&gt;
 bank-transact -cf myproj.bnk -m myfile.afg&lt;br /&gt;
&lt;br /&gt;
* Use the mate-pair information to construct a collection of contig links.&lt;br /&gt;
 clk -b myproj.bnk&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; that you can also construct these links with your own custom software and upload them into the bank in which case you would skip the &amp;quot;clk&amp;quot; command.&lt;br /&gt;
&lt;br /&gt;
* Bundle the contig links into a collection of contig edges.&lt;br /&gt;
 Bundler -b myproj.bnk&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; as with the clk command you might want to build the contig edges separately and upload them into the bank using your own software.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; the Bundler command also accepts the command line parameter &amp;quot;-t&amp;quot; followed by a list of edge types as defined in src/AMOS/Link_AMOS.hh. Currently the following types are defined: M- mate-pair, O - overlap, P - physical, A - alignment, S - synteny, X - other.&lt;br /&gt;
&lt;br /&gt;
* Identify genomic repeats and output them to std out&lt;br /&gt;
 MarkRepeats -b myproj.bnk [-redundancy X -aggressive] &amp;gt; myRepeats&lt;br /&gt;
&lt;br /&gt;
Optional parameters:&lt;br /&gt;
:&amp;quot;-redundancy X&amp;quot; only uses contig edges comprising X or more contig links&lt;br /&gt;
:&amp;quot;-aggressive&amp;quot; - aggressive repeat identification based on global depth of coverage statistics (default procedure relies on graph analysis rather than coverage statistics)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; this program requires the boost library&lt;br /&gt;
&lt;br /&gt;
* Order and orient contigs according to repeat and link information&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;IMPORTANT:&amp;#039;&amp;#039;&amp;#039; several of the operations performed by this program destructively modify the bank (changes cannot be undone). You should make a copy of the bank prior to running OrientContigs.&lt;br /&gt;
&lt;br /&gt;
 OrientContigs -b myproj.bnk -prefix myscaff&lt;br /&gt;
&lt;br /&gt;
:&amp;quot;-prefix&amp;quot; specifies the prefix for all output files&lt;br /&gt;
&lt;br /&gt;
Optional parameters:&lt;br /&gt;
:&amp;quot;-all&amp;quot; - output unlinked contigs as scaffolds&lt;br /&gt;
:&amp;quot;-noreduce&amp;quot; - turns off graph simplification routines (see below)&lt;br /&gt;
:&amp;quot;-redundancy X&amp;quot; - same as above - ignore edges with less than X links&lt;br /&gt;
:&amp;quot;-repeats filename&amp;quot; - ignores repeats listed in &amp;quot;filename&amp;quot; (one contig ID per line) as generated, e.g. by the MarkRepeats :program described above.&lt;br /&gt;
:&amp;quot;-aggressive&amp;quot; - aggressive scaffolding - by default links that are stretched by more than 3 standard deviations are ignored. Aggressive option turns this feature off and tries to reconcile the scaffold as best possible.&lt;br /&gt;
&lt;br /&gt;
* Linearize the scaffolds (if desired). By default Bambus 2 produces non-linear graph-based scaffolds. If fasta output is desired, it is necessary to linearize the scaffolds.&lt;br /&gt;
 untangle -e myscaff.evidence.xml -s myscaff.out.xml -o myscaff.untangle.xml&lt;br /&gt;
&lt;br /&gt;
* Output fasta result (if desired). This involves two steps, the first to generating the fasta file representing the contigs and the second combines them, separated by Ns, into a scaffold fasta file.&lt;br /&gt;
 bank2fasta -d -b myproj.bnk &amp;gt; contigs.fasta&lt;br /&gt;
 printScaff -e myscaff.evidence.xml -s myscaff.untangle.xml -l myscaff.library -f contigs.fasta -merge -o myscaff&lt;br /&gt;
&lt;br /&gt;
== Outputs ==&lt;br /&gt;
The output of the OrientContigs program is a collection of scaffolds stored in the bank. The program also generates several files starting with the specified prefix&lt;br /&gt;
*myScaff.agp&lt;br /&gt;
**The scaffolds generated by the OrientContigs programs in NCBI AGP format&lt;br /&gt;
*myScaff.dot&lt;br /&gt;
**The scaffolds generated by the OrientContigs program in Graphviz dot format. It can be converted to a PostScript or PDF file using the dot program in the Graphviz package.&lt;br /&gt;
*myScaff.evidence.xml&lt;br /&gt;
*myScaff.library&lt;br /&gt;
*myScaff.out.xml&lt;br /&gt;
**The scaffolds generated by the OrientContigs program compatible with the Bambus 1 format.&lt;br /&gt;
*myScaff.fasta&lt;br /&gt;
**The fasta file of the scaffolds, joined by Ns&lt;br /&gt;
*myScaff.stats&lt;br /&gt;
**Statistics on the scaffolds generated, including N50 and total span.&lt;br /&gt;
&lt;br /&gt;
=== Scaffold simplifications ===&lt;br /&gt;
By default (unless option &amp;quot;-noreduce&amp;quot; is provided) the OrientContigs program simplifies certain&lt;br /&gt;
graph patterns:&lt;br /&gt;
* simple paths&lt;br /&gt;
* bubbles&lt;br /&gt;
** These patterns are iteratively merged into single contigs until no additional simplifications can be made.&lt;/div&gt;</summary>
		<author><name>Dmb000006</name></author>	</entry>

	<entry>
		<id>http://amos.sourceforge.net/wiki/index.php/Bambus_Manual</id>
		<title>Bambus Manual</title>
		<link rel="alternate" type="text/html" href="http://amos.sourceforge.net/wiki/index.php/Bambus_Manual"/>
				<updated>2010-12-16T15:26:00Z</updated>
		
		<summary type="html">&lt;p&gt;Dmb000006: /* Getting more (or less) information from the output */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
 | __TOC__&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The output of most shotgun sequence assembly programs (such as TIGR Assembler, phrap, or CAP3) consists in a set of un-related contigs, whose order and orientation along the chromosome is unknown. Scaffolding represents the task of ordering and orienting these contigs by using additional information about their relative placement. Traditionally such information was identified from the pairing of reads from the opposite ends of an insert in double-barelled shotgun experiments (see figure).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:scaffold image.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Besides clone mate information, homology data, physical maps, or gene synteny information can be used to derive relationships between contigs. BAMBUS is a program written to handle all such types of data in a generic fashion in order to build contig scaffolds. In order to account for the varied quality of linking information BAMBUS allows the user to specify a hierarchy that will consider the most reliable linking data first, then expand the scaffolds using less reliable data. This approach minimizes the effect of errors inherent to experimentally-derived linking information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Algorithm overview ===&lt;br /&gt;
&lt;br /&gt;
BAMBUS has two main modes of operation: hierarchical - when the links are considered in the order of their priorities, and standard - when all the links are considered at the same priority level. In the latter case, all links connecting two contigs are bundled together to form a &amp;quot;gap&amp;quot;, or &amp;quot;edge&amp;quot; if you look at the problem from a graph theoretical point of view. Each link is checked for validity before being added to a bundle. Thus, a link is considered invalid due to a length constraint if it forces the two contigs to overlap. In other words, if we assume the largest possible size for the insert corresponding to the link, if the coordinates of the mate-pair within the contigs force the contigs to overlap, we discard the link assuming it is due to a misassembly (Note: this behaviour can be specified on a link-by-link basis). Links that pass this test are further checked for consistency. If they do not all agree in the relative orientations of the contigs they imply, a majority rule is used to retain only those links that agree both in orientation and length. Furthermore, the bundle, or edge, is retained if it contains at least two links (this parameter, redundancy, can actually be tuned by the user). After this step is complete, the resulting graph gets traversed twice, once to assign consistent orientations to all the contigs, and the second time to determine the order of the contigs along the chromosome. Note that inconsistencies in order are currently allowed since they can provide finishing teams with useful information. In a future version of BAMBUS we will add an option to allow the generation of unambiguous scaffolds as well. Currently you can generate such unambiguous scaffolds using the [[#Untangling scaffolds|untangle]] program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
* Install AMOS&lt;br /&gt;
* Perl 5.6 or later&lt;br /&gt;
* [http://www.cpan.org/ XML::Parser] perl module&lt;br /&gt;
* [http://www.cpan.org/ Config::IniFiles] perl module&lt;br /&gt;
* [http://www.research.att.com/sw/tools/graphviz/ GraphViz] package&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Obtaining BAMBUS ===&lt;br /&gt;
&lt;br /&gt;
BAMBUS 2.3 is available free of charge under the open-source Artistic License.&lt;br /&gt;
&lt;br /&gt;
The Bambus source if freely available for download from the File Release Section of our SourceForge project page.&lt;br /&gt;
&lt;br /&gt;
To receive information regarding new releases and developments, please subscribe to our moderated, low-traffic users&amp;#039; mailing list:&lt;br /&gt;
&lt;br /&gt;
 amos-users(at)lists(dot)sourceforge(dot)net&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Actual installation ===&lt;br /&gt;
&lt;br /&gt;
1. Find a directory where you want the software installed. For example /users/home/CoolUser&lt;br /&gt;
&lt;br /&gt;
2. Place the tar file bambus-2.33.tar.gz in this directory&lt;br /&gt;
&lt;br /&gt;
3. Unpack the distribution&lt;br /&gt;
 % tar xvzf bambus-2.33.tar.gz&lt;br /&gt;
&lt;br /&gt;
4. Go into the newly created directory&lt;br /&gt;
 % cd bambus-2.33&lt;br /&gt;
&lt;br /&gt;
5. Carefully read the documentation&lt;br /&gt;
&lt;br /&gt;
6. Edit the file Makefile and change the value of BASEDIR to the correct installation path, for example:&lt;br /&gt;
 BASEDIR = /users/home/CoolUser&lt;br /&gt;
&lt;br /&gt;
7. Also check if the path for perl (in variable PERL) matches the one on your system. Several common options are:&lt;br /&gt;
 PERL = /usr/local/bin/perl&lt;br /&gt;
 PERL = /usr/bin/perl&lt;br /&gt;
&lt;br /&gt;
8. Type &amp;#039;gmake install&amp;#039; to have all the software installed. The executables will be in /users/home/CoolUser/bin/ and the documentation in /users/home/CoolUser/doc.&lt;br /&gt;
&lt;br /&gt;
9. To get started you can try out the small test dataset provided in data/test_run by typing:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -m test.mates -o test-bambus&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Running BAMBUS ==&lt;br /&gt;
&lt;br /&gt;
The input to Bambus consists in a set of links between contigs. These links can be inferred from the pairing of reads belonging to the same insert, from physical map data, or from alignment to another genome. To accomodate these types of sources of linking information, and to allow for further extensions, the input to Bambus is presented in a general purpose XML format. &lt;br /&gt;
&lt;br /&gt;
The following sections describe how the XML file can be generated for each type of linking data. For more information see [[#.evidence.xml|.evidence.xml]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Linking information is grouped into &amp;quot;libraries&amp;quot;. All links within a library have similar parameters. In the case of mate-pair linking information the libraries match the standard definition. For other linking data, for example MUMmer links, the library grouping reflects specific characteristics of the linking data. For example all MUMmer links are grouped within a library called &amp;quot;MUMmer&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Command line options ===&lt;br /&gt;
&lt;br /&gt;
Bambus consists in a collection of programs controlled by a script called goBambus. The execution is controlled by the following sets of parameters. To obtain a list of all parameters and basic help information you need to type:&lt;br /&gt;
&lt;br /&gt;
 goBambus -h&lt;br /&gt;
or&lt;br /&gt;
 goBambus -help&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Configuration options ====&lt;br /&gt;
&lt;br /&gt;
* -C &amp;lt;conf_file&amp;gt; . This parameter specifies the configuration file used by Bambus. A configuration file is not required, however it is useful if you want to change the default parameters. See [[#The configuration file|the configuration file]] for a detailed description of the configuration information.&lt;br /&gt;
&lt;br /&gt;
Whenever you run Bambus it will generate a default configuration file called default.conf. If you want to modify the parameters, you will need to rename this file and then edit it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Input Options ====&lt;br /&gt;
&lt;br /&gt;
* -a &amp;lt;asm_file&amp;gt; . Use a TIGR Assembler .asm file as source of linking information.&lt;br /&gt;
* -c &amp;lt;contig_file&amp;gt; . Use a GDE formatted .contig assembly file as source of linking information. The .contig files can be obtained either from TIGR Assembler output (by concatenating the contents of the .align directory) or by converting .ace files (created by phrap or Consed) using the [[ace2contig]] package.&lt;br /&gt;
* -x &amp;lt;xml_file&amp;gt;. Use additional XML formatted linking information. You can use the -x option multiple times. See [[#.evidence.xml|.evidence.xml]] for the XML file format.&lt;br /&gt;
* -mx &amp;lt;make_file&amp;gt;. Use a gmake compatible make file to specify how the additional XML information is generated. Each of the files created must end in &amp;quot;.xml&amp;quot;. Moreover, only the final XML targets are allowed to end in &amp;quot;.xml&amp;quot; to prevent goBambus from getting confused. See [[#Using Makefiles|using Makefiles]] for a more detailed description on using makefiles.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Mate-pair Information ====&lt;br /&gt;
&lt;br /&gt;
Assembly output (such as .asm and .contig files) does not generally contain any information about the pairing of reads coming from opposite ends of the same insert, nor about the membership of inserts to libraries. The following parameters specify how to obtain this mate-pair information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* -m &amp;lt;mates_file&amp;gt; . The mates file allows you to specify both library information and mate pairing information, using a system based on Perl regular expressions. See [[#The .mates file|the .mates file]].&lt;br /&gt;
* -D &amp;lt;database&amp;gt; . At TIGR, instead of a mates file you can opt to use a database to obtain library and mate information. Note that the -m and -D options are complementary. The following three parameters specify database options:&lt;br /&gt;
* -S &amp;lt;server&amp;gt; . Select a specific database server&lt;br /&gt;
* -U &amp;lt;user&amp;gt; . Log in with the specified user name&lt;br /&gt;
* -P &amp;lt;passwd&amp;gt; . Log in with the specified password&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Output Options ====&lt;br /&gt;
&lt;br /&gt;
* -o &amp;lt;output_prefix&amp;gt; . All the output file names will be generated from the &amp;lt;output_prefix&amp;gt; prefix.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Repeat Screening ====&lt;br /&gt;
&lt;br /&gt;
Misassembled repeats can confuse Bambus, therefore it makes sense to screen the known repeats that may be misassembled. Bambus can use two types of repeat screening information:&lt;br /&gt;
&lt;br /&gt;
* -r . Screen against the repeats listed in the database (option -D must be provided)&lt;br /&gt;
* -r &amp;lt;repfile&amp;gt; . Screen against repeats described in [[#Repeat files|repeat files]]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Flow-control ====&lt;br /&gt;
&lt;br /&gt;
* -start &amp;lt;num&amp;gt;&lt;br /&gt;
* -end &amp;lt;num&amp;gt;. The execution of Bambus consists in a set of steps. The user can choose to start or end at a specific step for example in the case when she modifies the configuration file and wants to re-run just the final steps of the scaffolders. This feature should be used with caution.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Typical use cases ===&lt;br /&gt;
==== Using assembler output ====&lt;br /&gt;
&lt;br /&gt;
For convenience, Bambus can use the output of an assembly program and automatically generate the required linking information. Two types of information are required:&lt;br /&gt;
&lt;br /&gt;
* the tiling of reads in the assembly&lt;br /&gt;
* information about the pairing of reads&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The first type of information can be obtained from the .asm or .contig output formats of TIGR Assembler. For more information about these file formats please refer to the [http://www.jcvi.org/cms/publications/listing/abstract/article/tigr-assembler-a-new-tool-for-assembling-large-shotgun-sequencing-projects/ TIGR Assembler documentation]. Note that the .contig file may be stripped of all sequence data as the only information used is that contained in the lines starting with #. In case you are using an assembler other than TIGR Assembler you may need to use the ta2ace package to convert the output into the .contig format.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The second type of information can be obtained from a [[#The .mates file|.mates file]], or from the database in case you are at TIGR.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A typical command line for someone outside of TIGR is:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -m test.mates -o test&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and the execution will generate the following files:&lt;br /&gt;
&lt;br /&gt;
* [[#.stats file|test.stats]] - statistics on scaffolds and libraries &lt;br /&gt;
* [[#.details file|test.details]] - detailed information about each contig pair (also called &amp;quot;gap&amp;quot;). &lt;br /&gt;
* [[#.dot file|test.dot]] - GraphViz formatted description of the contig linkage information.&lt;br /&gt;
* [[#.evidence.xml|test.evidence.xml]] - XML representation of all the linking evidence provided.&lt;br /&gt;
* [[#.out.xml|test.out.xml]] - XML representation of the scaffolds.&lt;br /&gt;
* [[#.ps file|test.lib]] - list of the codes associated with each input library. These codes are reported on the links in the output file. &amp;lt;!-- The link here looks wrong! --&amp;gt;&lt;br /&gt;
* [[#.sum file|test.sum]] - one-line sumaries of all scaffolds.&lt;br /&gt;
* [[#.oo file|test.oo]] - order and orientation information for all the contigs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Additionally, the program generates some &amp;quot;working&amp;quot; files that are currently not removed as they provide useful debugging information.&lt;br /&gt;
&lt;br /&gt;
* test.detective.xml - linking information derived from assembler input alone. It&amp;#039;s the same as test.evidence.xml unless additional XML files are provided in the input.&lt;br /&gt;
* test.inp - input to the core scaffolding engine.&lt;br /&gt;
* test.grommit.conf - configuration information for the scaffolding engine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To view the graphical output you need to convert it to Postscript with the command:&lt;br /&gt;
&lt;br /&gt;
 dot -Tps -o test.ps test.dot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then you can view the postscript file with the command:&lt;br /&gt;
&lt;br /&gt;
 gv test.ps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
At TIGR, instead of specifying a .mates file you can use the database:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -D gbx -U access -P access -o test&lt;br /&gt;
&lt;br /&gt;
==== Getting more (or less) information from the output ====&lt;br /&gt;
&lt;br /&gt;
You can modify the information you get in the output by directly calling the printScaff command. PrintScaff requires as inputs the [[#.evidence.xml|.evidence.xml]] file, the [[#.out.xml|.out.xml]] file and the [[#.lib|.lib]] files produce by Bambus, the minimal invocation being:&lt;br /&gt;
&lt;br /&gt;
 printScaff -e test.evidence.xml -s test.out.xml -l test.lib&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Optionally you may specify the output prefix with option -o (just like in the Bambus invocation). PrintScaff has parameters that control what gets reported, and in what format.&lt;br /&gt;
&lt;br /&gt;
In the first category you have:&lt;br /&gt;
* -dot - produce a .dot file&lt;br /&gt;
* -detail - produce a .details file&lt;br /&gt;
* -oo - produce a [[#.oo file|.oo]] file listing all the contigs in each scaffold&lt;br /&gt;
* -sum - produce a [[#.sum file|.sum]] tab delimited list of scaffold stats (#contigs, size, and span)&lt;br /&gt;
* -f &amp;lt;fasta_file&amp;gt; - generate a pseudo-molecule for each scaffold using the contig sequences listed in &amp;lt;fasta_file&amp;gt;. Note that the contigs in the scaffold files are names &amp;quot;contig_&amp;lt;id&amp;gt;&amp;quot; while the contigs in the &amp;lt;fasta_file&amp;gt; must simply be called &amp;quot;&amp;lt;id&amp;gt;&amp;quot;. Note that this option together with the default -merge option (see below) is meaningless unless you&amp;#039;ve [[#Untangling scaffolds|untangled]] the scaffold.&lt;br /&gt;
* -phys - create a .phys file listing all &amp;quot;gaps&amp;quot; spanned only by the specified libraries:&lt;br /&gt;
&lt;br /&gt;
 printScaff -e test.evidence.xml -s test.out.xml -l test.lib -phys MUMmer&lt;br /&gt;
&lt;br /&gt;
will generate a file called test.phys that contains all contig pairs linked by nothing but MUMmer links.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the second category you have:&lt;br /&gt;
* -page - produce .dot file formatted for printing on 8.5x11&amp;quot; paper&lt;br /&gt;
* -plot - produce .dot file formatted for printing on a plotter (36x48&amp;quot; paper)&lt;br /&gt;
* -unused - draw edges corresponding to unused links&lt;br /&gt;
* -merge - (default) when the -f option is given, produce a pseudo-molecule for each scaffold by adding 60 N characters between the contigs in the scaffold&lt;br /&gt;
* -nomerge - when the -f option is given, create a fasta file containing all contigs in each scaffold in the correct orientation&lt;br /&gt;
&lt;br /&gt;
==== Adding additional XML linking information ====&lt;br /&gt;
&lt;br /&gt;
You can easily add additional linking information as long as it&amp;#039;s in a format similar to the [[#.evidence.xml file|.evidence.xml file]]. Assuming we have two such files &amp;quot;link1.xml&amp;quot; and &amp;quot;link2.xml&amp;quot; you can call Bambus as follows:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -m test.mates -x link1.xml -x link2.xml -o test&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The result being the same as if you concatenated the XML file inferred from the .contig file together with the two additional XML files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Using MUMmer links ====&lt;br /&gt;
&lt;br /&gt;
In case you are sequencing a genome for which a close relative has been completed, you can use [[MUMmer]] to infer links between contigs. Assume you have the reference genome in a file &amp;quot;ref.fasta&amp;quot; and all the contigs from the genome you are assembling in a file called &amp;quot;test.fasta&amp;quot;, you can run MUMmer to align the test genome to the reference:&lt;br /&gt;
&lt;br /&gt;
 nucmer -maxmatch ref.fasta test.fasta&lt;br /&gt;
&lt;br /&gt;
The output will be placed in a file called out.delta. You can then convert the alignment information into an XML file suitable for Bambus as follows:&lt;br /&gt;
&lt;br /&gt;
 show-tiling -x out.delta &amp;gt; test.mum.xml&lt;br /&gt;
&lt;br /&gt;
And finally you can provide this information to Bambus:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -m test.mates -x test.mum.xml -o test&lt;br /&gt;
&lt;br /&gt;
==== Using Makefiles ====&lt;br /&gt;
&lt;br /&gt;
If you have multiple XML files, it becomes tedious to generate each file separately and then provide them to Bambus with multiple -x options. You can create a Makefile compatible with GNU make that generates each of the XML files. You must be careful that the targets for all the XML files end in &amp;quot;.xml&amp;quot;, and no other targets (such as intermediate targets) have the same suffix. Bambus will assume that all .xml files produced by the Makefile must be added to the input.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An example of a simple Makefile that can generate the mummer information described above is:&lt;br /&gt;
&lt;br /&gt;
 test.mum.xml: ref.fasta test.fasta&lt;br /&gt;
 nucmer -a max-match ref.fasta test.fasta&lt;br /&gt;
 show-tiling -x out.delta &amp;gt; test.mum.xml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Untangling scaffolds ====&lt;br /&gt;
&lt;br /&gt;
By default, the scaffolds resulting from Bambus are potentially ambiguous as two or more contigs may occupy the same place in the genome. Such situations occur either due to misassembled repeats, or when assembling different haplotypes. Bambus contains a utility that does a best effort attempt to disambiguate the scaffolds, by breaking them into a set of non-ambiguous scaffolds. The algorithm is greedy and does not guarantee that an optimal solution (e.g. a minimum number of longest scaffolds) is produced.&lt;br /&gt;
&lt;br /&gt;
To run the untangler type:&lt;br /&gt;
&lt;br /&gt;
 untangle -e test.evidence.xml -s test.out.xml -o test.untangle.xml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The test.untangle.xml file has the same format as the output file ([[#.out.xml|.out.xml]]) and for each scaffold (e.g. scaff_1) contains one or more unambiguous scaffolds called &amp;quot;scaff_1_1, scaff_1_2, etc&amp;quot;. You can use the [[#Getting more (or less) information from the output|printScaff]] command to process the untangled file the same way you would process a normal Bambus output.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== File formats ==&lt;br /&gt;
&lt;br /&gt;
=== The configuration file ===&lt;br /&gt;
&lt;br /&gt;
Scaffolding parameters can be specified in a configuration file. Whenever you run Bambus a default configuration file is generated as default.conf. To create your own file you should rename this file then edit it. The following types of information can be specified:&lt;br /&gt;
&lt;br /&gt;
* Comments. Lines starting with # are considered comments and are ignored by the software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Priority information. Specifies an order in which the libraries are considered. For example, the following line specifies priority 2 for all MUMmer links. The libraries are considered in the increasing order of priorities.&lt;br /&gt;
&lt;br /&gt;
      priority MUMmer 2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If no configuration file is provided, all libraries are assumed to have the same priority. If a configuration file is provided, only those libraries that have a priority record are used in scaffolding. In other words, if a library has no priority record associated with it, it will not be used in scaffolding.&lt;br /&gt;
&lt;br /&gt;
A priority can also be specified for a specific redundancy parameter. For example, the following line specifies that those links between contigs supported by 4 or more sources of linking data should be processed at priority level 1. &lt;br /&gt;
&lt;br /&gt;
      priority redundancy 4 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note, however, that you need to also specify a set of libraries to be used at this priority level. A simple shortcut is specifying that all link classes should be processed at this redundancy.&lt;br /&gt;
&lt;br /&gt;
      priority ALL 1&lt;br /&gt;
      &lt;br /&gt;
&lt;br /&gt;
If you are uncertain of which libraries your project uses, run Bambus without a configuration file. The libraries will be listed in a file ending in &amp;quot;.libs&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Redundancy information. Specifies the minimum number of links required for a valid inter-contig link. You can specify this parameter as a global value:&lt;br /&gt;
&lt;br /&gt;
   redundancy 2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
that is, all contigs must be linked by at least two links. You can also specify a per-library value like below which says a single MUMmer link is required to link two contigs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   redundancy MUMmer 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Minimum scaffold size. Specifies a scaffold size cutoff. For example thisimplies that only scaffolds that contain more than 10kbp are present in the output.:&lt;br /&gt;
&lt;br /&gt;
      mingroupsize 10000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Link size error. For some link types, determining the exact link length can only be done within a certain error. This parameter specifies, as a percentage, the estimated error in size determination. For example, since MUMmer links make an assumption of evolutionary closeness between two genomes, the error associated with them should be proportional to the estimated evolutionary distance (as nucleotide % similarity) between the two genomes. For an error of 5% use this parameter: &lt;br /&gt;
&lt;br /&gt;
      error MUMmer 0.05&lt;br /&gt;
  &lt;br /&gt;
* Overlapping contigs allowed. For each library you can control the link validation process by specifying whether adjacent contigs are allowed to overlap or not. By default mate-pair links assume adjacent contigs do not overlap, while MUMmer links allow contigs to overlap. This is equivalent to the configuration parameters:&lt;br /&gt;
  &lt;br /&gt;
      overlaps lib_1 N&lt;br /&gt;
      overlaps MUMmer Y&lt;br /&gt;
&lt;br /&gt;
An example is provided in [[bambus.conf|data/sample_files/bambus.conf]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== The .mates file ===&lt;br /&gt;
&lt;br /&gt;
The .mates file provides two types of information: library data, and mate-pair relationships between reads.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Library data can be described in two formats:&lt;br /&gt;
 library	&amp;lt;name&amp;gt;	&amp;lt;min_size&amp;gt;	&amp;lt;max_size&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and&lt;br /&gt;
 library	&amp;lt;name&amp;gt;	&amp;lt;min_size&amp;gt;	&amp;lt;max_size&amp;gt;	&amp;lt;regexp&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Both formats require you to name each library and to provide a size range for the inserts belonging to it. The second format allows you to also provide a Perl regular expression that describes the naming convention for reads belonging to the library. The part of the sequence name that represents the library name must be placed within parentheses. As an example, the regular expression for TIGR sequences (where the library is specified by the first 4 characters) is:&lt;br /&gt;
 (....).*&lt;br /&gt;
&lt;br /&gt;
Mate-pair relationships can also be described in two ways:&lt;br /&gt;
 pair	&amp;lt;regexp_forw&amp;gt;	&amp;lt;regexp_rev&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
 &amp;lt;seq_forw_1&amp;gt;	&amp;lt;seq_rev_1&amp;gt;	&amp;lt;library_name&amp;gt;&lt;br /&gt;
 &amp;lt;seq_forw_2&amp;gt;	&amp;lt;seq_rev_2&amp;gt;	&amp;lt;library_name&amp;gt;&lt;br /&gt;
 &amp;lt;seq_forw_3&amp;gt;	&amp;lt;seq_rev_3&amp;gt;	&amp;lt;library_name&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
The first format requires two regular expressions corresponding to the forward and reverse mates of an insert. Just like the library record, the portion of the name corresponding to the insert name must be placed within parentheses. Two reads that match the two regular expressions, and have the exact same section matched within the parentheses will be considered mates. The library will be determined from the regular expression associated with a &amp;quot;library&amp;quot; record. As an example, at TIGR the first 7 characters represent the insert, then are followed by an optional T or P and the primer name (F or R for Forward or Reverse). The corresponding regular expression is:&lt;br /&gt;
 pair	(.......)[TP]?F	(.......)[TP]?R&lt;br /&gt;
&lt;br /&gt;
The second format is simply a list of sequence name pairs each followed by the name of the library they belong to. The corresponding library records must be listed in the file before the pairing data.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note that fields in the .mates file must be separated by TAB characters otherwise the program will report an error.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
An example of a .mates file using the phred/phrap naming convention is provided in [[bambus.mates|data/sample_files/bambus.mates]].&lt;br /&gt;
&lt;br /&gt;
=== Repeat files ===&lt;br /&gt;
&lt;br /&gt;
The repeat files used in screening linking data conform to the output standards of the repeatFinder program. The file contains 5 TAB-delimited values: contig ID, repeat name, left and right coordinates within the contig, and contig class. Only the first 4 values are essential as far as Bambus is concerned. Here is an example of repeat records:&lt;br /&gt;
&lt;br /&gt;
 AC009139.7.3 RPT1A 14554 96820 1&lt;br /&gt;
 AC026498.3.2 RPT1B 124208 206475 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .evidence.xml ===&lt;br /&gt;
&lt;br /&gt;
This provides an XML representation of the input file. Below is a description of the data presented in this file (see also an [[bambus.evidence.xml|example]]):&lt;br /&gt;
&lt;br /&gt;
The overall flow of the XML file is:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;EVIDENCE&amp;gt;&lt;br /&gt;
   &amp;lt;LIBRARY&amp;gt;&lt;br /&gt;
    &amp;lt;INSERT&amp;gt;&lt;br /&gt;
      &amp;lt;SEQUENCE/&amp;gt;&lt;br /&gt;
      &amp;lt;SEQUENCE/&amp;gt;&lt;br /&gt;
    &amp;lt;/INSERT&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
  &amp;lt;/LIBRARY&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;CONTIG&amp;gt;&lt;br /&gt;
    &amp;lt;SEQUENCE/&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
  &amp;lt;/CONTIG&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;LINK&amp;gt;&lt;br /&gt;
    &amp;lt;CONTIG/&amp;gt;&lt;br /&gt;
    &amp;lt;CONTIG/&amp;gt;&lt;br /&gt;
  &amp;lt;/LINK&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &amp;lt;/EVIDENCE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;EVIDENCE                        this is the parent tag - the whole document occurs within &amp;lt;EVIDENCE&amp;gt; and &amp;lt;/EVIDENCE&amp;gt;&lt;br /&gt;
  ID = &amp;quot;1&amp;quot;                        some identifier for the file&lt;br /&gt;
  DATE = &amp;quot;12/15/03&amp;quot;               date when file was created&lt;br /&gt;
  PROJECT = &amp;quot;MyProject&amp;quot;           verbose description of the project&lt;br /&gt;
  PARAMETERS = &amp;quot;&amp;quot;                 parameters used in creating this file&lt;br /&gt;
 &amp;gt;&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;LIBRARY                         for each shotgun library you need a separate library tag.&lt;br /&gt;
  ID = &amp;quot;lib_1&amp;quot;                    some identifier for the library&lt;br /&gt;
  NAME = &amp;quot;short&amp;quot;                  verbose name for the library&lt;br /&gt;
  MIN = &amp;quot;1200&amp;quot;                    minimum size of inserts in this library&lt;br /&gt;
  MAX = &amp;quot;3500&amp;quot;                    maximum size of inserts in this library&lt;br /&gt;
 &amp;gt;&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;INSERT                          the insert concept links together the two reads obtained from opposite ends of a clone insert&lt;br /&gt;
  ID=&amp;quot;ins_1&amp;quot;                      generic identifier for the insert&lt;br /&gt;
  NAME=&amp;quot;GALBZ92&amp;quot;                  verbose name for the insert&lt;br /&gt;
 &amp;gt; 	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SEQUENCE                        each insert contains two sequence reads obtained from to the opposite ends&lt;br /&gt;
  ID=&amp;quot;seq_1&amp;quot;                      generic identifier for the sequence&lt;br /&gt;
  NAME=&amp;quot;GALBZ92TF&amp;quot;                verbose name for the sequence&lt;br /&gt;
 &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;CONTIG                          Each contig in the assembly needs to be represented in the file&lt;br /&gt;
  ID=&amp;quot;contig_1&amp;quot;                   contig identifier&lt;br /&gt;
  NAME= &amp;quot;1&amp;quot;                       contig name (usually the same as the identifier)&lt;br /&gt;
  LEN=&amp;quot;12352&amp;quot;                     contig length in basepairs&lt;br /&gt;
 &amp;gt; 	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SEQUENCE                        each sequence in the contig is listed together with information about the position within the contig.&lt;br /&gt;
  ID=&amp;quot;seq_1&amp;quot;                      sequence identifier (must match one described in the library section)&lt;br /&gt;
  ORI=&amp;quot;BE&amp;quot;                        orientation of sequence: BE - forward, EB - reverse&lt;br /&gt;
  ASM_LEND=&amp;quot;0&amp;quot;                    coordinate of sequence&amp;#039;s left end within the contig&lt;br /&gt;
  ASM_REND=&amp;quot;525&amp;quot;                  coordinate of sequence&amp;#039;s right end within the contig&lt;br /&gt;
 &amp;gt; 	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;LINK                            this is a generic link between two contigs (i.e. not inferred from mate-pair data)&lt;br /&gt;
  ID = &amp;quot;link_1&amp;quot;                   link identifier&lt;br /&gt;
  SIZE = &amp;quot;-800&amp;quot;                   size of gap between the two contigs&lt;br /&gt;
  TYPE = &amp;quot;MUMmer&amp;quot;                 link type: links with the same type get grouped into a virtual &amp;quot;library&amp;quot; used in specifying priorities&lt;br /&gt;
 &amp;gt; 	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;CONTIG                          each link contains two contigs&lt;br /&gt;
  ID = &amp;quot;contig_1&amp;quot;                 contig identifier: must match one described in the contig section above&lt;br /&gt;
  ORI = &amp;quot;EB&amp;quot;                      contig orientation: BE - forward, EB - reverse&lt;br /&gt;
 &amp;gt; 	                          each contig record may contain free-form data specifying the evidence for linking: e.g. alignment data&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
=== .out.xml ===&lt;br /&gt;
&lt;br /&gt;
Represents, together with the evidence file, a description of the layout of the contigs. For each scaffold, the order (given as a coordinate along a chromosome) and the orientation of each contig is presented, together with a list of all the links used to generate this layout. Some links are deemed invalid, being given a code of &amp;quot;LEN&amp;quot; in case the length was deemed incorrect, or &amp;quot;ORI&amp;quot; in case the link orientation was considered incorrect. This file is also specified by the [[bambus.dtd|DTD]] and an example ([[bambus.out.xml|data/sample_files/bambus.out.xml]]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .stats file ===&lt;br /&gt;
&lt;br /&gt;
Finally, BAMBUS outputs a summary of the scaffolds generated. This file is pretty much self-explanatory, as evidenced by this example ([[bambus.stats|data/sample_files/bambus.stats]]). Note that in the .stats file, the N50 sizes are computed with respect to the total span of the scaffolds unless a different genome size is specified in a file called genome.size.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .details file ===&lt;br /&gt;
&lt;br /&gt;
The .details file contains detailed information about the linking information between adjacent contigs. The contigs&amp;#039; orientation, size, and coordinates are listed and then all the linking data grouped by validity and library. An example is provided in [[bambus.details|data/sample_files/bambus.details]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .dot file ===&lt;br /&gt;
&lt;br /&gt;
Represents a graphical representation of the scaffolds in GraphViz format. Please see the [http://www.research.att.com/sw/tools/graphviz/ AT&amp;amp;T GraphViz] website for more information on this file format.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .ps file ===&lt;br /&gt;
&lt;br /&gt;
A postscript image generated from the GraphViz-formatted file. It can be obtained from the .dot file with the command:&lt;br /&gt;
 dot -Tps -o prefix.ps prefix.dot&lt;br /&gt;
&lt;br /&gt;
An example is given in the picture below.&lt;br /&gt;
[[Image:bambus-display.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Each scaffold is placed in a box, labeled with some statistics on the scaffold size (number of contigs, number of bases and span). All the &amp;quot;gaps&amp;quot; - linking relationships between the contigs are represented as edges. Each edge is decorated with the number of links contributing to it, the number of links from each library type, and the number of links invalidated due to incorrect length (L) or orientation (O). Each contig&amp;#039;s ID, size, and coordinates within the scaffold are also listed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .oo file ===&lt;br /&gt;
&lt;br /&gt;
This file contains a summary of the order and orientation of all contigs present in the data. Each scaffold starts with a FASTA-like header containing the identifier for the scaffold followed by the number of contigs, size and span. Within each scaffold, all contigs are listed in the scaffold order, followed by the string BE for those in the forward orientation and EB for those in the reverse orientation. An example file is shown in: [[bambus.oo|data/sample_files/bambus.oo]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .sum file ===&lt;br /&gt;
&lt;br /&gt;
This file contains one line for each scaffold. Each line contains the scaffold ID, number of contigs, scaffold size, and span. The four values are separated by TAB characters. See an example in [[bambus.sum|data/sample_files/bambus.sum]].&lt;br /&gt;
&lt;br /&gt;
== Known problems ==&lt;br /&gt;
There is a small &amp;quot;off-by-one&amp;quot; error in computing contig coordinates. It should not really affect the usefulness of the output.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Contact information ==&lt;br /&gt;
&lt;br /&gt;
BAMBUS is currently provided AS-IS, in other words we do not provide any support for the software. We would, however, like to hear your comments and suggestions.  For Bambus bug reports, support requests, or any other inquiries please browse our SourceForge project page or Email us at:&lt;br /&gt;
&lt;br /&gt;
  amos-help (at) lists (dot) sourceforge (dot) net&lt;br /&gt;
&lt;br /&gt;
BAMBUS was written by Mihai Pop and Dan Kosack.&lt;/div&gt;</summary>
		<author><name>Dmb000006</name></author>	</entry>

	<entry>
		<id>http://amos.sourceforge.net/wiki/index.php/Bambus_Manual</id>
		<title>Bambus Manual</title>
		<link rel="alternate" type="text/html" href="http://amos.sourceforge.net/wiki/index.php/Bambus_Manual"/>
				<updated>2010-12-16T15:15:44Z</updated>
		
		<summary type="html">&lt;p&gt;Dmb000006: /* Using assembler output */ Found an error I&amp;#039;m cautious to fix&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
 | __TOC__&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The output of most shotgun sequence assembly programs (such as TIGR Assembler, phrap, or CAP3) consists in a set of un-related contigs, whose order and orientation along the chromosome is unknown. Scaffolding represents the task of ordering and orienting these contigs by using additional information about their relative placement. Traditionally such information was identified from the pairing of reads from the opposite ends of an insert in double-barelled shotgun experiments (see figure).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:scaffold image.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Besides clone mate information, homology data, physical maps, or gene synteny information can be used to derive relationships between contigs. BAMBUS is a program written to handle all such types of data in a generic fashion in order to build contig scaffolds. In order to account for the varied quality of linking information BAMBUS allows the user to specify a hierarchy that will consider the most reliable linking data first, then expand the scaffolds using less reliable data. This approach minimizes the effect of errors inherent to experimentally-derived linking information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Algorithm overview ===&lt;br /&gt;
&lt;br /&gt;
BAMBUS has two main modes of operation: hierarchical - when the links are considered in the order of their priorities, and standard - when all the links are considered at the same priority level. In the latter case, all links connecting two contigs are bundled together to form a &amp;quot;gap&amp;quot;, or &amp;quot;edge&amp;quot; if you look at the problem from a graph theoretical point of view. Each link is checked for validity before being added to a bundle. Thus, a link is considered invalid due to a length constraint if it forces the two contigs to overlap. In other words, if we assume the largest possible size for the insert corresponding to the link, if the coordinates of the mate-pair within the contigs force the contigs to overlap, we discard the link assuming it is due to a misassembly (Note: this behaviour can be specified on a link-by-link basis). Links that pass this test are further checked for consistency. If they do not all agree in the relative orientations of the contigs they imply, a majority rule is used to retain only those links that agree both in orientation and length. Furthermore, the bundle, or edge, is retained if it contains at least two links (this parameter, redundancy, can actually be tuned by the user). After this step is complete, the resulting graph gets traversed twice, once to assign consistent orientations to all the contigs, and the second time to determine the order of the contigs along the chromosome. Note that inconsistencies in order are currently allowed since they can provide finishing teams with useful information. In a future version of BAMBUS we will add an option to allow the generation of unambiguous scaffolds as well. Currently you can generate such unambiguous scaffolds using the [[#Untangling scaffolds|untangle]] program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
* Install AMOS&lt;br /&gt;
* Perl 5.6 or later&lt;br /&gt;
* [http://www.cpan.org/ XML::Parser] perl module&lt;br /&gt;
* [http://www.cpan.org/ Config::IniFiles] perl module&lt;br /&gt;
* [http://www.research.att.com/sw/tools/graphviz/ GraphViz] package&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Obtaining BAMBUS ===&lt;br /&gt;
&lt;br /&gt;
BAMBUS 2.3 is available free of charge under the open-source Artistic License.&lt;br /&gt;
&lt;br /&gt;
The Bambus source if freely available for download from the File Release Section of our SourceForge project page.&lt;br /&gt;
&lt;br /&gt;
To receive information regarding new releases and developments, please subscribe to our moderated, low-traffic users&amp;#039; mailing list:&lt;br /&gt;
&lt;br /&gt;
 amos-users(at)lists(dot)sourceforge(dot)net&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Actual installation ===&lt;br /&gt;
&lt;br /&gt;
1. Find a directory where you want the software installed. For example /users/home/CoolUser&lt;br /&gt;
&lt;br /&gt;
2. Place the tar file bambus-2.33.tar.gz in this directory&lt;br /&gt;
&lt;br /&gt;
3. Unpack the distribution&lt;br /&gt;
 % tar xvzf bambus-2.33.tar.gz&lt;br /&gt;
&lt;br /&gt;
4. Go into the newly created directory&lt;br /&gt;
 % cd bambus-2.33&lt;br /&gt;
&lt;br /&gt;
5. Carefully read the documentation&lt;br /&gt;
&lt;br /&gt;
6. Edit the file Makefile and change the value of BASEDIR to the correct installation path, for example:&lt;br /&gt;
 BASEDIR = /users/home/CoolUser&lt;br /&gt;
&lt;br /&gt;
7. Also check if the path for perl (in variable PERL) matches the one on your system. Several common options are:&lt;br /&gt;
 PERL = /usr/local/bin/perl&lt;br /&gt;
 PERL = /usr/bin/perl&lt;br /&gt;
&lt;br /&gt;
8. Type &amp;#039;gmake install&amp;#039; to have all the software installed. The executables will be in /users/home/CoolUser/bin/ and the documentation in /users/home/CoolUser/doc.&lt;br /&gt;
&lt;br /&gt;
9. To get started you can try out the small test dataset provided in data/test_run by typing:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -m test.mates -o test-bambus&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Running BAMBUS ==&lt;br /&gt;
&lt;br /&gt;
The input to Bambus consists in a set of links between contigs. These links can be inferred from the pairing of reads belonging to the same insert, from physical map data, or from alignment to another genome. To accomodate these types of sources of linking information, and to allow for further extensions, the input to Bambus is presented in a general purpose XML format. &lt;br /&gt;
&lt;br /&gt;
The following sections describe how the XML file can be generated for each type of linking data. For more information see [[#.evidence.xml|.evidence.xml]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Linking information is grouped into &amp;quot;libraries&amp;quot;. All links within a library have similar parameters. In the case of mate-pair linking information the libraries match the standard definition. For other linking data, for example MUMmer links, the library grouping reflects specific characteristics of the linking data. For example all MUMmer links are grouped within a library called &amp;quot;MUMmer&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Command line options ===&lt;br /&gt;
&lt;br /&gt;
Bambus consists in a collection of programs controlled by a script called goBambus. The execution is controlled by the following sets of parameters. To obtain a list of all parameters and basic help information you need to type:&lt;br /&gt;
&lt;br /&gt;
 goBambus -h&lt;br /&gt;
or&lt;br /&gt;
 goBambus -help&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Configuration options ====&lt;br /&gt;
&lt;br /&gt;
* -C &amp;lt;conf_file&amp;gt; . This parameter specifies the configuration file used by Bambus. A configuration file is not required, however it is useful if you want to change the default parameters. See [[#The configuration file|the configuration file]] for a detailed description of the configuration information.&lt;br /&gt;
&lt;br /&gt;
Whenever you run Bambus it will generate a default configuration file called default.conf. If you want to modify the parameters, you will need to rename this file and then edit it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Input Options ====&lt;br /&gt;
&lt;br /&gt;
* -a &amp;lt;asm_file&amp;gt; . Use a TIGR Assembler .asm file as source of linking information.&lt;br /&gt;
* -c &amp;lt;contig_file&amp;gt; . Use a GDE formatted .contig assembly file as source of linking information. The .contig files can be obtained either from TIGR Assembler output (by concatenating the contents of the .align directory) or by converting .ace files (created by phrap or Consed) using the [[ace2contig]] package.&lt;br /&gt;
* -x &amp;lt;xml_file&amp;gt;. Use additional XML formatted linking information. You can use the -x option multiple times. See [[#.evidence.xml|.evidence.xml]] for the XML file format.&lt;br /&gt;
* -mx &amp;lt;make_file&amp;gt;. Use a gmake compatible make file to specify how the additional XML information is generated. Each of the files created must end in &amp;quot;.xml&amp;quot;. Moreover, only the final XML targets are allowed to end in &amp;quot;.xml&amp;quot; to prevent goBambus from getting confused. See [[#Using Makefiles|using Makefiles]] for a more detailed description on using makefiles.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Mate-pair Information ====&lt;br /&gt;
&lt;br /&gt;
Assembly output (such as .asm and .contig files) does not generally contain any information about the pairing of reads coming from opposite ends of the same insert, nor about the membership of inserts to libraries. The following parameters specify how to obtain this mate-pair information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* -m &amp;lt;mates_file&amp;gt; . The mates file allows you to specify both library information and mate pairing information, using a system based on Perl regular expressions. See [[#The .mates file|the .mates file]].&lt;br /&gt;
* -D &amp;lt;database&amp;gt; . At TIGR, instead of a mates file you can opt to use a database to obtain library and mate information. Note that the -m and -D options are complementary. The following three parameters specify database options:&lt;br /&gt;
* -S &amp;lt;server&amp;gt; . Select a specific database server&lt;br /&gt;
* -U &amp;lt;user&amp;gt; . Log in with the specified user name&lt;br /&gt;
* -P &amp;lt;passwd&amp;gt; . Log in with the specified password&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Output Options ====&lt;br /&gt;
&lt;br /&gt;
* -o &amp;lt;output_prefix&amp;gt; . All the output file names will be generated from the &amp;lt;output_prefix&amp;gt; prefix.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Repeat Screening ====&lt;br /&gt;
&lt;br /&gt;
Misassembled repeats can confuse Bambus, therefore it makes sense to screen the known repeats that may be misassembled. Bambus can use two types of repeat screening information:&lt;br /&gt;
&lt;br /&gt;
* -r . Screen against the repeats listed in the database (option -D must be provided)&lt;br /&gt;
* -r &amp;lt;repfile&amp;gt; . Screen against repeats described in [[#Repeat files|repeat files]]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Flow-control ====&lt;br /&gt;
&lt;br /&gt;
* -start &amp;lt;num&amp;gt;&lt;br /&gt;
* -end &amp;lt;num&amp;gt;. The execution of Bambus consists in a set of steps. The user can choose to start or end at a specific step for example in the case when she modifies the configuration file and wants to re-run just the final steps of the scaffolders. This feature should be used with caution.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Typical use cases ===&lt;br /&gt;
==== Using assembler output ====&lt;br /&gt;
&lt;br /&gt;
For convenience, Bambus can use the output of an assembly program and automatically generate the required linking information. Two types of information are required:&lt;br /&gt;
&lt;br /&gt;
* the tiling of reads in the assembly&lt;br /&gt;
* information about the pairing of reads&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The first type of information can be obtained from the .asm or .contig output formats of TIGR Assembler. For more information about these file formats please refer to the [http://www.jcvi.org/cms/publications/listing/abstract/article/tigr-assembler-a-new-tool-for-assembling-large-shotgun-sequencing-projects/ TIGR Assembler documentation]. Note that the .contig file may be stripped of all sequence data as the only information used is that contained in the lines starting with #. In case you are using an assembler other than TIGR Assembler you may need to use the ta2ace package to convert the output into the .contig format.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The second type of information can be obtained from a [[#The .mates file|.mates file]], or from the database in case you are at TIGR.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A typical command line for someone outside of TIGR is:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -m test.mates -o test&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and the execution will generate the following files:&lt;br /&gt;
&lt;br /&gt;
* [[#.stats file|test.stats]] - statistics on scaffolds and libraries &lt;br /&gt;
* [[#.details file|test.details]] - detailed information about each contig pair (also called &amp;quot;gap&amp;quot;). &lt;br /&gt;
* [[#.dot file|test.dot]] - GraphViz formatted description of the contig linkage information.&lt;br /&gt;
* [[#.evidence.xml|test.evidence.xml]] - XML representation of all the linking evidence provided.&lt;br /&gt;
* [[#.out.xml|test.out.xml]] - XML representation of the scaffolds.&lt;br /&gt;
* [[#.ps file|test.lib]] - list of the codes associated with each input library. These codes are reported on the links in the output file. &amp;lt;!-- The link here looks wrong! --&amp;gt;&lt;br /&gt;
* [[#.sum file|test.sum]] - one-line sumaries of all scaffolds.&lt;br /&gt;
* [[#.oo file|test.oo]] - order and orientation information for all the contigs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Additionally, the program generates some &amp;quot;working&amp;quot; files that are currently not removed as they provide useful debugging information.&lt;br /&gt;
&lt;br /&gt;
* test.detective.xml - linking information derived from assembler input alone. It&amp;#039;s the same as test.evidence.xml unless additional XML files are provided in the input.&lt;br /&gt;
* test.inp - input to the core scaffolding engine.&lt;br /&gt;
* test.grommit.conf - configuration information for the scaffolding engine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To view the graphical output you need to convert it to Postscript with the command:&lt;br /&gt;
&lt;br /&gt;
 dot -Tps -o test.ps test.dot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then you can view the postscript file with the command:&lt;br /&gt;
&lt;br /&gt;
 gv test.ps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
At TIGR, instead of specifying a .mates file you can use the database:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -D gbx -U access -P access -o test&lt;br /&gt;
&lt;br /&gt;
==== Getting more (or less) information from the output ====&lt;br /&gt;
&lt;br /&gt;
You can modify the information you get in the output by directly calling the printScaff command. PrintScaff requires as inputs the [[#.evidence.xml|.evidence.xml]] file, the [[#.out.xml|.out.xml]] file and the [[#.lib|.lib]] files produce by Bambus, the minimal invocation being:&lt;br /&gt;
&lt;br /&gt;
 printScaff -e test.evidence.xml -s test.out.xml -l test.lib&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Optionally you may specify the output prefix with option -o (just like in the Bambus invocation). PrintScaff has parameters that control what gets reported, and in what format. In the first category you have:&lt;br /&gt;
&lt;br /&gt;
* -dot - produce a .dot file&lt;br /&gt;
* -detail - produce a .details file&lt;br /&gt;
* -oo - produce a [[#.oo file|.oo]] file listing all the contigs in each scaffold&lt;br /&gt;
* -sum - produce a [[#.sum file|.sum]] tab delimited list of scaffold stats (#contigs, size, and span)&lt;br /&gt;
* -f &amp;lt;fasta_file&amp;gt; - generate a pseudo-molecule for each scaffold using the contig sequences listed in &amp;lt;fasta_file&amp;gt;. Note that the contigs in the scaffold files are names &amp;quot;contig_&amp;lt;id&amp;gt;&amp;quot; while the contigs in the &amp;lt;fasta_file&amp;gt; must simply be called &amp;quot;&amp;lt;id&amp;gt;&amp;quot;. Note that this option together with the default -merge option (see below) is meaningless unless you&amp;#039;ve [[#Untangling scaffolds|untangled]] the scaffold.&lt;br /&gt;
* -phys - create a .phys file listing all &amp;quot;gaps&amp;quot; spanned only by the specified libraries:&lt;br /&gt;
&lt;br /&gt;
 printScaff -e test.evidence.xml -s test.out.xml -l test.lib -phys MUMmer&lt;br /&gt;
&lt;br /&gt;
will generate a file called test.phys that contains all contig pairs linked by nothing but MUMmer links.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the second category you have:&lt;br /&gt;
&lt;br /&gt;
* -page - produce .dot file formatted for printing on 8.5x11&amp;quot; paper&lt;br /&gt;
* -plot - produce .dot file formatted for printing on a plotter (36x48&amp;quot; paper)&lt;br /&gt;
* -unused - draw edges corresponding to unused links&lt;br /&gt;
* -merge - (default) when the -f option is given, produce a pseudo-molecule for each scaffold by adding 60 N characters between the contigs in the scaffold&lt;br /&gt;
* -nomerge - when the -f option is given, create a fasta file containing all contigs in each scaffold in the correct orientation&lt;br /&gt;
&lt;br /&gt;
==== Adding additional XML linking information ====&lt;br /&gt;
&lt;br /&gt;
You can easily add additional linking information as long as it&amp;#039;s in a format similar to the [[#.evidence.xml file|.evidence.xml file]]. Assuming we have two such files &amp;quot;link1.xml&amp;quot; and &amp;quot;link2.xml&amp;quot; you can call Bambus as follows:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -m test.mates -x link1.xml -x link2.xml -o test&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The result being the same as if you concatenated the XML file inferred from the .contig file together with the two additional XML files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Using MUMmer links ====&lt;br /&gt;
&lt;br /&gt;
In case you are sequencing a genome for which a close relative has been completed, you can use [[MUMmer]] to infer links between contigs. Assume you have the reference genome in a file &amp;quot;ref.fasta&amp;quot; and all the contigs from the genome you are assembling in a file called &amp;quot;test.fasta&amp;quot;, you can run MUMmer to align the test genome to the reference:&lt;br /&gt;
&lt;br /&gt;
 nucmer -maxmatch ref.fasta test.fasta&lt;br /&gt;
&lt;br /&gt;
The output will be placed in a file called out.delta. You can then convert the alignment information into an XML file suitable for Bambus as follows:&lt;br /&gt;
&lt;br /&gt;
 show-tiling -x out.delta &amp;gt; test.mum.xml&lt;br /&gt;
&lt;br /&gt;
And finally you can provide this information to Bambus:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -m test.mates -x test.mum.xml -o test&lt;br /&gt;
&lt;br /&gt;
==== Using Makefiles ====&lt;br /&gt;
&lt;br /&gt;
If you have multiple XML files, it becomes tedious to generate each file separately and then provide them to Bambus with multiple -x options. You can create a Makefile compatible with GNU make that generates each of the XML files. You must be careful that the targets for all the XML files end in &amp;quot;.xml&amp;quot;, and no other targets (such as intermediate targets) have the same suffix. Bambus will assume that all .xml files produced by the Makefile must be added to the input.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An example of a simple Makefile that can generate the mummer information described above is:&lt;br /&gt;
&lt;br /&gt;
 test.mum.xml: ref.fasta test.fasta&lt;br /&gt;
 nucmer -a max-match ref.fasta test.fasta&lt;br /&gt;
 show-tiling -x out.delta &amp;gt; test.mum.xml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Untangling scaffolds ====&lt;br /&gt;
&lt;br /&gt;
By default, the scaffolds resulting from Bambus are potentially ambiguous as two or more contigs may occupy the same place in the genome. Such situations occur either due to misassembled repeats, or when assembling different haplotypes. Bambus contains a utility that does a best effort attempt to disambiguate the scaffolds, by breaking them into a set of non-ambiguous scaffolds. The algorithm is greedy and does not guarantee that an optimal solution (e.g. a minimum number of longest scaffolds) is produced.&lt;br /&gt;
&lt;br /&gt;
To run the untangler type:&lt;br /&gt;
&lt;br /&gt;
 untangle -e test.evidence.xml -s test.out.xml -o test.untangle.xml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The test.untangle.xml file has the same format as the output file ([[#.out.xml|.out.xml]]) and for each scaffold (e.g. scaff_1) contains one or more unambiguous scaffolds called &amp;quot;scaff_1_1, scaff_1_2, etc&amp;quot;. You can use the [[#Getting more (or less) information from the output|printScaff]] command to process the untangled file the same way you would process a normal Bambus output.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== File formats ==&lt;br /&gt;
&lt;br /&gt;
=== The configuration file ===&lt;br /&gt;
&lt;br /&gt;
Scaffolding parameters can be specified in a configuration file. Whenever you run Bambus a default configuration file is generated as default.conf. To create your own file you should rename this file then edit it. The following types of information can be specified:&lt;br /&gt;
&lt;br /&gt;
* Comments. Lines starting with # are considered comments and are ignored by the software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Priority information. Specifies an order in which the libraries are considered. For example, the following line specifies priority 2 for all MUMmer links. The libraries are considered in the increasing order of priorities.&lt;br /&gt;
&lt;br /&gt;
      priority MUMmer 2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If no configuration file is provided, all libraries are assumed to have the same priority. If a configuration file is provided, only those libraries that have a priority record are used in scaffolding. In other words, if a library has no priority record associated with it, it will not be used in scaffolding.&lt;br /&gt;
&lt;br /&gt;
A priority can also be specified for a specific redundancy parameter. For example, the following line specifies that those links between contigs supported by 4 or more sources of linking data should be processed at priority level 1. &lt;br /&gt;
&lt;br /&gt;
      priority redundancy 4 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note, however, that you need to also specify a set of libraries to be used at this priority level. A simple shortcut is specifying that all link classes should be processed at this redundancy.&lt;br /&gt;
&lt;br /&gt;
      priority ALL 1&lt;br /&gt;
      &lt;br /&gt;
&lt;br /&gt;
If you are uncertain of which libraries your project uses, run Bambus without a configuration file. The libraries will be listed in a file ending in &amp;quot;.libs&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Redundancy information. Specifies the minimum number of links required for a valid inter-contig link. You can specify this parameter as a global value:&lt;br /&gt;
&lt;br /&gt;
   redundancy 2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
that is, all contigs must be linked by at least two links. You can also specify a per-library value like below which says a single MUMmer link is required to link two contigs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   redundancy MUMmer 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Minimum scaffold size. Specifies a scaffold size cutoff. For example thisimplies that only scaffolds that contain more than 10kbp are present in the output.:&lt;br /&gt;
&lt;br /&gt;
      mingroupsize 10000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Link size error. For some link types, determining the exact link length can only be done within a certain error. This parameter specifies, as a percentage, the estimated error in size determination. For example, since MUMmer links make an assumption of evolutionary closeness between two genomes, the error associated with them should be proportional to the estimated evolutionary distance (as nucleotide % similarity) between the two genomes. For an error of 5% use this parameter: &lt;br /&gt;
&lt;br /&gt;
      error MUMmer 0.05&lt;br /&gt;
  &lt;br /&gt;
* Overlapping contigs allowed. For each library you can control the link validation process by specifying whether adjacent contigs are allowed to overlap or not. By default mate-pair links assume adjacent contigs do not overlap, while MUMmer links allow contigs to overlap. This is equivalent to the configuration parameters:&lt;br /&gt;
  &lt;br /&gt;
      overlaps lib_1 N&lt;br /&gt;
      overlaps MUMmer Y&lt;br /&gt;
&lt;br /&gt;
An example is provided in [[bambus.conf|data/sample_files/bambus.conf]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== The .mates file ===&lt;br /&gt;
&lt;br /&gt;
The .mates file provides two types of information: library data, and mate-pair relationships between reads.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Library data can be described in two formats:&lt;br /&gt;
 library	&amp;lt;name&amp;gt;	&amp;lt;min_size&amp;gt;	&amp;lt;max_size&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and&lt;br /&gt;
 library	&amp;lt;name&amp;gt;	&amp;lt;min_size&amp;gt;	&amp;lt;max_size&amp;gt;	&amp;lt;regexp&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Both formats require you to name each library and to provide a size range for the inserts belonging to it. The second format allows you to also provide a Perl regular expression that describes the naming convention for reads belonging to the library. The part of the sequence name that represents the library name must be placed within parentheses. As an example, the regular expression for TIGR sequences (where the library is specified by the first 4 characters) is:&lt;br /&gt;
 (....).*&lt;br /&gt;
&lt;br /&gt;
Mate-pair relationships can also be described in two ways:&lt;br /&gt;
 pair	&amp;lt;regexp_forw&amp;gt;	&amp;lt;regexp_rev&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
 &amp;lt;seq_forw_1&amp;gt;	&amp;lt;seq_rev_1&amp;gt;	&amp;lt;library_name&amp;gt;&lt;br /&gt;
 &amp;lt;seq_forw_2&amp;gt;	&amp;lt;seq_rev_2&amp;gt;	&amp;lt;library_name&amp;gt;&lt;br /&gt;
 &amp;lt;seq_forw_3&amp;gt;	&amp;lt;seq_rev_3&amp;gt;	&amp;lt;library_name&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
The first format requires two regular expressions corresponding to the forward and reverse mates of an insert. Just like the library record, the portion of the name corresponding to the insert name must be placed within parentheses. Two reads that match the two regular expressions, and have the exact same section matched within the parentheses will be considered mates. The library will be determined from the regular expression associated with a &amp;quot;library&amp;quot; record. As an example, at TIGR the first 7 characters represent the insert, then are followed by an optional T or P and the primer name (F or R for Forward or Reverse). The corresponding regular expression is:&lt;br /&gt;
 pair	(.......)[TP]?F	(.......)[TP]?R&lt;br /&gt;
&lt;br /&gt;
The second format is simply a list of sequence name pairs each followed by the name of the library they belong to. The corresponding library records must be listed in the file before the pairing data.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note that fields in the .mates file must be separated by TAB characters otherwise the program will report an error.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
An example of a .mates file using the phred/phrap naming convention is provided in [[bambus.mates|data/sample_files/bambus.mates]].&lt;br /&gt;
&lt;br /&gt;
=== Repeat files ===&lt;br /&gt;
&lt;br /&gt;
The repeat files used in screening linking data conform to the output standards of the repeatFinder program. The file contains 5 TAB-delimited values: contig ID, repeat name, left and right coordinates within the contig, and contig class. Only the first 4 values are essential as far as Bambus is concerned. Here is an example of repeat records:&lt;br /&gt;
&lt;br /&gt;
 AC009139.7.3 RPT1A 14554 96820 1&lt;br /&gt;
 AC026498.3.2 RPT1B 124208 206475 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .evidence.xml ===&lt;br /&gt;
&lt;br /&gt;
This provides an XML representation of the input file. Below is a description of the data presented in this file (see also an [[bambus.evidence.xml|example]]):&lt;br /&gt;
&lt;br /&gt;
The overall flow of the XML file is:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;EVIDENCE&amp;gt;&lt;br /&gt;
   &amp;lt;LIBRARY&amp;gt;&lt;br /&gt;
    &amp;lt;INSERT&amp;gt;&lt;br /&gt;
      &amp;lt;SEQUENCE/&amp;gt;&lt;br /&gt;
      &amp;lt;SEQUENCE/&amp;gt;&lt;br /&gt;
    &amp;lt;/INSERT&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
  &amp;lt;/LIBRARY&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;CONTIG&amp;gt;&lt;br /&gt;
    &amp;lt;SEQUENCE/&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
  &amp;lt;/CONTIG&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;LINK&amp;gt;&lt;br /&gt;
    &amp;lt;CONTIG/&amp;gt;&lt;br /&gt;
    &amp;lt;CONTIG/&amp;gt;&lt;br /&gt;
  &amp;lt;/LINK&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &amp;lt;/EVIDENCE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;EVIDENCE                        this is the parent tag - the whole document occurs within &amp;lt;EVIDENCE&amp;gt; and &amp;lt;/EVIDENCE&amp;gt;&lt;br /&gt;
  ID = &amp;quot;1&amp;quot;                        some identifier for the file&lt;br /&gt;
  DATE = &amp;quot;12/15/03&amp;quot;               date when file was created&lt;br /&gt;
  PROJECT = &amp;quot;MyProject&amp;quot;           verbose description of the project&lt;br /&gt;
  PARAMETERS = &amp;quot;&amp;quot;                 parameters used in creating this file&lt;br /&gt;
 &amp;gt;&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;LIBRARY                         for each shotgun library you need a separate library tag.&lt;br /&gt;
  ID = &amp;quot;lib_1&amp;quot;                    some identifier for the library&lt;br /&gt;
  NAME = &amp;quot;short&amp;quot;                  verbose name for the library&lt;br /&gt;
  MIN = &amp;quot;1200&amp;quot;                    minimum size of inserts in this library&lt;br /&gt;
  MAX = &amp;quot;3500&amp;quot;                    maximum size of inserts in this library&lt;br /&gt;
 &amp;gt;&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;INSERT                          the insert concept links together the two reads obtained from opposite ends of a clone insert&lt;br /&gt;
  ID=&amp;quot;ins_1&amp;quot;                      generic identifier for the insert&lt;br /&gt;
  NAME=&amp;quot;GALBZ92&amp;quot;                  verbose name for the insert&lt;br /&gt;
 &amp;gt; 	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SEQUENCE                        each insert contains two sequence reads obtained from to the opposite ends&lt;br /&gt;
  ID=&amp;quot;seq_1&amp;quot;                      generic identifier for the sequence&lt;br /&gt;
  NAME=&amp;quot;GALBZ92TF&amp;quot;                verbose name for the sequence&lt;br /&gt;
 &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;CONTIG                          Each contig in the assembly needs to be represented in the file&lt;br /&gt;
  ID=&amp;quot;contig_1&amp;quot;                   contig identifier&lt;br /&gt;
  NAME= &amp;quot;1&amp;quot;                       contig name (usually the same as the identifier)&lt;br /&gt;
  LEN=&amp;quot;12352&amp;quot;                     contig length in basepairs&lt;br /&gt;
 &amp;gt; 	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SEQUENCE                        each sequence in the contig is listed together with information about the position within the contig.&lt;br /&gt;
  ID=&amp;quot;seq_1&amp;quot;                      sequence identifier (must match one described in the library section)&lt;br /&gt;
  ORI=&amp;quot;BE&amp;quot;                        orientation of sequence: BE - forward, EB - reverse&lt;br /&gt;
  ASM_LEND=&amp;quot;0&amp;quot;                    coordinate of sequence&amp;#039;s left end within the contig&lt;br /&gt;
  ASM_REND=&amp;quot;525&amp;quot;                  coordinate of sequence&amp;#039;s right end within the contig&lt;br /&gt;
 &amp;gt; 	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;LINK                            this is a generic link between two contigs (i.e. not inferred from mate-pair data)&lt;br /&gt;
  ID = &amp;quot;link_1&amp;quot;                   link identifier&lt;br /&gt;
  SIZE = &amp;quot;-800&amp;quot;                   size of gap between the two contigs&lt;br /&gt;
  TYPE = &amp;quot;MUMmer&amp;quot;                 link type: links with the same type get grouped into a virtual &amp;quot;library&amp;quot; used in specifying priorities&lt;br /&gt;
 &amp;gt; 	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;CONTIG                          each link contains two contigs&lt;br /&gt;
  ID = &amp;quot;contig_1&amp;quot;                 contig identifier: must match one described in the contig section above&lt;br /&gt;
  ORI = &amp;quot;EB&amp;quot;                      contig orientation: BE - forward, EB - reverse&lt;br /&gt;
 &amp;gt; 	                          each contig record may contain free-form data specifying the evidence for linking: e.g. alignment data&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
=== .out.xml ===&lt;br /&gt;
&lt;br /&gt;
Represents, together with the evidence file, a description of the layout of the contigs. For each scaffold, the order (given as a coordinate along a chromosome) and the orientation of each contig is presented, together with a list of all the links used to generate this layout. Some links are deemed invalid, being given a code of &amp;quot;LEN&amp;quot; in case the length was deemed incorrect, or &amp;quot;ORI&amp;quot; in case the link orientation was considered incorrect. This file is also specified by the [[bambus.dtd|DTD]] and an example ([[bambus.out.xml|data/sample_files/bambus.out.xml]]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .stats file ===&lt;br /&gt;
&lt;br /&gt;
Finally, BAMBUS outputs a summary of the scaffolds generated. This file is pretty much self-explanatory, as evidenced by this example ([[bambus.stats|data/sample_files/bambus.stats]]). Note that in the .stats file, the N50 sizes are computed with respect to the total span of the scaffolds unless a different genome size is specified in a file called genome.size.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .details file ===&lt;br /&gt;
&lt;br /&gt;
The .details file contains detailed information about the linking information between adjacent contigs. The contigs&amp;#039; orientation, size, and coordinates are listed and then all the linking data grouped by validity and library. An example is provided in [[bambus.details|data/sample_files/bambus.details]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .dot file ===&lt;br /&gt;
&lt;br /&gt;
Represents a graphical representation of the scaffolds in GraphViz format. Please see the [http://www.research.att.com/sw/tools/graphviz/ AT&amp;amp;T GraphViz] website for more information on this file format.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .ps file ===&lt;br /&gt;
&lt;br /&gt;
A postscript image generated from the GraphViz-formatted file. It can be obtained from the .dot file with the command:&lt;br /&gt;
 dot -Tps -o prefix.ps prefix.dot&lt;br /&gt;
&lt;br /&gt;
An example is given in the picture below.&lt;br /&gt;
[[Image:bambus-display.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Each scaffold is placed in a box, labeled with some statistics on the scaffold size (number of contigs, number of bases and span). All the &amp;quot;gaps&amp;quot; - linking relationships between the contigs are represented as edges. Each edge is decorated with the number of links contributing to it, the number of links from each library type, and the number of links invalidated due to incorrect length (L) or orientation (O). Each contig&amp;#039;s ID, size, and coordinates within the scaffold are also listed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .oo file ===&lt;br /&gt;
&lt;br /&gt;
This file contains a summary of the order and orientation of all contigs present in the data. Each scaffold starts with a FASTA-like header containing the identifier for the scaffold followed by the number of contigs, size and span. Within each scaffold, all contigs are listed in the scaffold order, followed by the string BE for those in the forward orientation and EB for those in the reverse orientation. An example file is shown in: [[bambus.oo|data/sample_files/bambus.oo]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .sum file ===&lt;br /&gt;
&lt;br /&gt;
This file contains one line for each scaffold. Each line contains the scaffold ID, number of contigs, scaffold size, and span. The four values are separated by TAB characters. See an example in [[bambus.sum|data/sample_files/bambus.sum]].&lt;br /&gt;
&lt;br /&gt;
== Known problems ==&lt;br /&gt;
There is a small &amp;quot;off-by-one&amp;quot; error in computing contig coordinates. It should not really affect the usefulness of the output.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Contact information ==&lt;br /&gt;
&lt;br /&gt;
BAMBUS is currently provided AS-IS, in other words we do not provide any support for the software. We would, however, like to hear your comments and suggestions.  For Bambus bug reports, support requests, or any other inquiries please browse our SourceForge project page or Email us at:&lt;br /&gt;
&lt;br /&gt;
  amos-help (at) lists (dot) sourceforge (dot) net&lt;br /&gt;
&lt;br /&gt;
BAMBUS was written by Mihai Pop and Dan Kosack.&lt;/div&gt;</summary>
		<author><name>Dmb000006</name></author>	</entry>

	<entry>
		<id>http://amos.sourceforge.net/wiki/index.php/Bambus_Manual</id>
		<title>Bambus Manual</title>
		<link rel="alternate" type="text/html" href="http://amos.sourceforge.net/wiki/index.php/Bambus_Manual"/>
				<updated>2010-12-16T15:14:24Z</updated>
		
		<summary type="html">&lt;p&gt;Dmb000006: /* Getting more (or less) information from the output */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
 | __TOC__&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The output of most shotgun sequence assembly programs (such as TIGR Assembler, phrap, or CAP3) consists in a set of un-related contigs, whose order and orientation along the chromosome is unknown. Scaffolding represents the task of ordering and orienting these contigs by using additional information about their relative placement. Traditionally such information was identified from the pairing of reads from the opposite ends of an insert in double-barelled shotgun experiments (see figure).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:scaffold image.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Besides clone mate information, homology data, physical maps, or gene synteny information can be used to derive relationships between contigs. BAMBUS is a program written to handle all such types of data in a generic fashion in order to build contig scaffolds. In order to account for the varied quality of linking information BAMBUS allows the user to specify a hierarchy that will consider the most reliable linking data first, then expand the scaffolds using less reliable data. This approach minimizes the effect of errors inherent to experimentally-derived linking information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Algorithm overview ===&lt;br /&gt;
&lt;br /&gt;
BAMBUS has two main modes of operation: hierarchical - when the links are considered in the order of their priorities, and standard - when all the links are considered at the same priority level. In the latter case, all links connecting two contigs are bundled together to form a &amp;quot;gap&amp;quot;, or &amp;quot;edge&amp;quot; if you look at the problem from a graph theoretical point of view. Each link is checked for validity before being added to a bundle. Thus, a link is considered invalid due to a length constraint if it forces the two contigs to overlap. In other words, if we assume the largest possible size for the insert corresponding to the link, if the coordinates of the mate-pair within the contigs force the contigs to overlap, we discard the link assuming it is due to a misassembly (Note: this behaviour can be specified on a link-by-link basis). Links that pass this test are further checked for consistency. If they do not all agree in the relative orientations of the contigs they imply, a majority rule is used to retain only those links that agree both in orientation and length. Furthermore, the bundle, or edge, is retained if it contains at least two links (this parameter, redundancy, can actually be tuned by the user). After this step is complete, the resulting graph gets traversed twice, once to assign consistent orientations to all the contigs, and the second time to determine the order of the contigs along the chromosome. Note that inconsistencies in order are currently allowed since they can provide finishing teams with useful information. In a future version of BAMBUS we will add an option to allow the generation of unambiguous scaffolds as well. Currently you can generate such unambiguous scaffolds using the [[#Untangling scaffolds|untangle]] program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
* Install AMOS&lt;br /&gt;
* Perl 5.6 or later&lt;br /&gt;
* [http://www.cpan.org/ XML::Parser] perl module&lt;br /&gt;
* [http://www.cpan.org/ Config::IniFiles] perl module&lt;br /&gt;
* [http://www.research.att.com/sw/tools/graphviz/ GraphViz] package&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Obtaining BAMBUS ===&lt;br /&gt;
&lt;br /&gt;
BAMBUS 2.3 is available free of charge under the open-source Artistic License.&lt;br /&gt;
&lt;br /&gt;
The Bambus source if freely available for download from the File Release Section of our SourceForge project page.&lt;br /&gt;
&lt;br /&gt;
To receive information regarding new releases and developments, please subscribe to our moderated, low-traffic users&amp;#039; mailing list:&lt;br /&gt;
&lt;br /&gt;
 amos-users(at)lists(dot)sourceforge(dot)net&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Actual installation ===&lt;br /&gt;
&lt;br /&gt;
1. Find a directory where you want the software installed. For example /users/home/CoolUser&lt;br /&gt;
&lt;br /&gt;
2. Place the tar file bambus-2.33.tar.gz in this directory&lt;br /&gt;
&lt;br /&gt;
3. Unpack the distribution&lt;br /&gt;
 % tar xvzf bambus-2.33.tar.gz&lt;br /&gt;
&lt;br /&gt;
4. Go into the newly created directory&lt;br /&gt;
 % cd bambus-2.33&lt;br /&gt;
&lt;br /&gt;
5. Carefully read the documentation&lt;br /&gt;
&lt;br /&gt;
6. Edit the file Makefile and change the value of BASEDIR to the correct installation path, for example:&lt;br /&gt;
 BASEDIR = /users/home/CoolUser&lt;br /&gt;
&lt;br /&gt;
7. Also check if the path for perl (in variable PERL) matches the one on your system. Several common options are:&lt;br /&gt;
 PERL = /usr/local/bin/perl&lt;br /&gt;
 PERL = /usr/bin/perl&lt;br /&gt;
&lt;br /&gt;
8. Type &amp;#039;gmake install&amp;#039; to have all the software installed. The executables will be in /users/home/CoolUser/bin/ and the documentation in /users/home/CoolUser/doc.&lt;br /&gt;
&lt;br /&gt;
9. To get started you can try out the small test dataset provided in data/test_run by typing:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -m test.mates -o test-bambus&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Running BAMBUS ==&lt;br /&gt;
&lt;br /&gt;
The input to Bambus consists in a set of links between contigs. These links can be inferred from the pairing of reads belonging to the same insert, from physical map data, or from alignment to another genome. To accomodate these types of sources of linking information, and to allow for further extensions, the input to Bambus is presented in a general purpose XML format. &lt;br /&gt;
&lt;br /&gt;
The following sections describe how the XML file can be generated for each type of linking data. For more information see [[#.evidence.xml|.evidence.xml]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Linking information is grouped into &amp;quot;libraries&amp;quot;. All links within a library have similar parameters. In the case of mate-pair linking information the libraries match the standard definition. For other linking data, for example MUMmer links, the library grouping reflects specific characteristics of the linking data. For example all MUMmer links are grouped within a library called &amp;quot;MUMmer&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Command line options ===&lt;br /&gt;
&lt;br /&gt;
Bambus consists in a collection of programs controlled by a script called goBambus. The execution is controlled by the following sets of parameters. To obtain a list of all parameters and basic help information you need to type:&lt;br /&gt;
&lt;br /&gt;
 goBambus -h&lt;br /&gt;
or&lt;br /&gt;
 goBambus -help&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Configuration options ====&lt;br /&gt;
&lt;br /&gt;
* -C &amp;lt;conf_file&amp;gt; . This parameter specifies the configuration file used by Bambus. A configuration file is not required, however it is useful if you want to change the default parameters. See [[#The configuration file|the configuration file]] for a detailed description of the configuration information.&lt;br /&gt;
&lt;br /&gt;
Whenever you run Bambus it will generate a default configuration file called default.conf. If you want to modify the parameters, you will need to rename this file and then edit it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Input Options ====&lt;br /&gt;
&lt;br /&gt;
* -a &amp;lt;asm_file&amp;gt; . Use a TIGR Assembler .asm file as source of linking information.&lt;br /&gt;
* -c &amp;lt;contig_file&amp;gt; . Use a GDE formatted .contig assembly file as source of linking information. The .contig files can be obtained either from TIGR Assembler output (by concatenating the contents of the .align directory) or by converting .ace files (created by phrap or Consed) using the [[ace2contig]] package.&lt;br /&gt;
* -x &amp;lt;xml_file&amp;gt;. Use additional XML formatted linking information. You can use the -x option multiple times. See [[#.evidence.xml|.evidence.xml]] for the XML file format.&lt;br /&gt;
* -mx &amp;lt;make_file&amp;gt;. Use a gmake compatible make file to specify how the additional XML information is generated. Each of the files created must end in &amp;quot;.xml&amp;quot;. Moreover, only the final XML targets are allowed to end in &amp;quot;.xml&amp;quot; to prevent goBambus from getting confused. See [[#Using Makefiles|using Makefiles]] for a more detailed description on using makefiles.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Mate-pair Information ====&lt;br /&gt;
&lt;br /&gt;
Assembly output (such as .asm and .contig files) does not generally contain any information about the pairing of reads coming from opposite ends of the same insert, nor about the membership of inserts to libraries. The following parameters specify how to obtain this mate-pair information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* -m &amp;lt;mates_file&amp;gt; . The mates file allows you to specify both library information and mate pairing information, using a system based on Perl regular expressions. See [[#The .mates file|the .mates file]].&lt;br /&gt;
* -D &amp;lt;database&amp;gt; . At TIGR, instead of a mates file you can opt to use a database to obtain library and mate information. Note that the -m and -D options are complementary. The following three parameters specify database options:&lt;br /&gt;
* -S &amp;lt;server&amp;gt; . Select a specific database server&lt;br /&gt;
* -U &amp;lt;user&amp;gt; . Log in with the specified user name&lt;br /&gt;
* -P &amp;lt;passwd&amp;gt; . Log in with the specified password&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Output Options ====&lt;br /&gt;
&lt;br /&gt;
* -o &amp;lt;output_prefix&amp;gt; . All the output file names will be generated from the &amp;lt;output_prefix&amp;gt; prefix.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Repeat Screening ====&lt;br /&gt;
&lt;br /&gt;
Misassembled repeats can confuse Bambus, therefore it makes sense to screen the known repeats that may be misassembled. Bambus can use two types of repeat screening information:&lt;br /&gt;
&lt;br /&gt;
* -r . Screen against the repeats listed in the database (option -D must be provided)&lt;br /&gt;
* -r &amp;lt;repfile&amp;gt; . Screen against repeats described in [[#Repeat files|repeat files]]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Flow-control ====&lt;br /&gt;
&lt;br /&gt;
* -start &amp;lt;num&amp;gt;&lt;br /&gt;
* -end &amp;lt;num&amp;gt;. The execution of Bambus consists in a set of steps. The user can choose to start or end at a specific step for example in the case when she modifies the configuration file and wants to re-run just the final steps of the scaffolders. This feature should be used with caution.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Typical use cases ===&lt;br /&gt;
==== Using assembler output ====&lt;br /&gt;
&lt;br /&gt;
For convenience, Bambus can use the output of an assembly program and automatically generate the required linking information. Two types of information are required:&lt;br /&gt;
&lt;br /&gt;
* the tiling of reads in the assembly&lt;br /&gt;
* information about the pairing of reads&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The first type of information can be obtained from the .asm or .contig output formats of TIGR Assembler. For more information about these file formats please refer to the [http://www.jcvi.org/cms/publications/listing/abstract/article/tigr-assembler-a-new-tool-for-assembling-large-shotgun-sequencing-projects/ TIGR Assembler documentation]. Note that the .contig file may be stripped of all sequence data as the only information used is that contained in the lines starting with #. In case you are using an assembler other than TIGR Assembler you may need to use the ta2ace package to convert the output into the .contig format.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The second type of information can be obtained from a [[#The .mates file|.mates file]], or from the database in case you are at TIGR.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A typical command line for someone outside of TIGR is:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -m test.mates -o test&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and the execution will generate the following files:&lt;br /&gt;
&lt;br /&gt;
* [[#.stats file|test.stats]] - statistics on scaffolds and libraries &lt;br /&gt;
* [[#.details file|test.details]] - detailed information about each contig pair (also called &amp;quot;gap&amp;quot;). &lt;br /&gt;
* [[#.dot file|test.dot]] - GraphViz formatted description of the contig linkage information.&lt;br /&gt;
* [[#.evidence.xml|test.evidence.xml]] - XML representation of all the linking evidence provided.&lt;br /&gt;
* [[#.out.xml|test.out.xml]] - XML representation of the scaffolds.&lt;br /&gt;
* [[#.ps file|test.lib]] - list of the codes associated with each input library. These codes are reported on the links in the output file.&lt;br /&gt;
* [[#.sum file|test.sum]] - one-line sumaries of all scaffolds.&lt;br /&gt;
* [[#.oo file|test.oo]] - order and orientation information for all the contigs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Additionally, the program generates some &amp;quot;working&amp;quot; files that are currently not removed as they provide useful debugging information.&lt;br /&gt;
&lt;br /&gt;
* test.detective.xml - linking information derived from assembler input alone. It&amp;#039;s the same as test.evidence.xml unless additional XML files are provided in the input.&lt;br /&gt;
* test.inp - input to the core scaffolding engine.&lt;br /&gt;
* test.grommit.conf - configuration information for the scaffolding engine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To view the graphical output you need to convert it to Postscript with the command:&lt;br /&gt;
&lt;br /&gt;
 dot -Tps -o test.ps test.dot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then you can view the postscript file with the command:&lt;br /&gt;
&lt;br /&gt;
 gv test.ps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
At TIGR, instead of specifying a .mates file you can use the database:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -D gbx -U access -P access -o test&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Getting more (or less) information from the output ====&lt;br /&gt;
&lt;br /&gt;
You can modify the information you get in the output by directly calling the printScaff command. PrintScaff requires as inputs the [[#.evidence.xml|.evidence.xml]] file, the [[#.out.xml|.out.xml]] file and the [[#.lib|.lib]] files produce by Bambus, the minimal invocation being:&lt;br /&gt;
&lt;br /&gt;
 printScaff -e test.evidence.xml -s test.out.xml -l test.lib&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Optionally you may specify the output prefix with option -o (just like in the Bambus invocation). PrintScaff has parameters that control what gets reported, and in what format. In the first category you have:&lt;br /&gt;
&lt;br /&gt;
* -dot - produce a .dot file&lt;br /&gt;
* -detail - produce a .details file&lt;br /&gt;
* -oo - produce a [[#.oo file|.oo]] file listing all the contigs in each scaffold&lt;br /&gt;
* -sum - produce a [[#.sum file|.sum]] tab delimited list of scaffold stats (#contigs, size, and span)&lt;br /&gt;
* -f &amp;lt;fasta_file&amp;gt; - generate a pseudo-molecule for each scaffold using the contig sequences listed in &amp;lt;fasta_file&amp;gt;. Note that the contigs in the scaffold files are names &amp;quot;contig_&amp;lt;id&amp;gt;&amp;quot; while the contigs in the &amp;lt;fasta_file&amp;gt; must simply be called &amp;quot;&amp;lt;id&amp;gt;&amp;quot;. Note that this option together with the default -merge option (see below) is meaningless unless you&amp;#039;ve [[#Untangling scaffolds|untangled]] the scaffold.&lt;br /&gt;
* -phys - create a .phys file listing all &amp;quot;gaps&amp;quot; spanned only by the specified libraries:&lt;br /&gt;
&lt;br /&gt;
 printScaff -e test.evidence.xml -s test.out.xml -l test.lib -phys MUMmer&lt;br /&gt;
&lt;br /&gt;
will generate a file called test.phys that contains all contig pairs linked by nothing but MUMmer links.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the second category you have:&lt;br /&gt;
&lt;br /&gt;
* -page - produce .dot file formatted for printing on 8.5x11&amp;quot; paper&lt;br /&gt;
* -plot - produce .dot file formatted for printing on a plotter (36x48&amp;quot; paper)&lt;br /&gt;
* -unused - draw edges corresponding to unused links&lt;br /&gt;
* -merge - (default) when the -f option is given, produce a pseudo-molecule for each scaffold by adding 60 N characters between the contigs in the scaffold&lt;br /&gt;
* -nomerge - when the -f option is given, create a fasta file containing all contigs in each scaffold in the correct orientation&lt;br /&gt;
&lt;br /&gt;
==== Adding additional XML linking information ====&lt;br /&gt;
&lt;br /&gt;
You can easily add additional linking information as long as it&amp;#039;s in a format similar to the [[#.evidence.xml file|.evidence.xml file]]. Assuming we have two such files &amp;quot;link1.xml&amp;quot; and &amp;quot;link2.xml&amp;quot; you can call Bambus as follows:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -m test.mates -x link1.xml -x link2.xml -o test&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The result being the same as if you concatenated the XML file inferred from the .contig file together with the two additional XML files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Using MUMmer links ====&lt;br /&gt;
&lt;br /&gt;
In case you are sequencing a genome for which a close relative has been completed, you can use [[MUMmer]] to infer links between contigs. Assume you have the reference genome in a file &amp;quot;ref.fasta&amp;quot; and all the contigs from the genome you are assembling in a file called &amp;quot;test.fasta&amp;quot;, you can run MUMmer to align the test genome to the reference:&lt;br /&gt;
&lt;br /&gt;
 nucmer -maxmatch ref.fasta test.fasta&lt;br /&gt;
&lt;br /&gt;
The output will be placed in a file called out.delta. You can then convert the alignment information into an XML file suitable for Bambus as follows:&lt;br /&gt;
&lt;br /&gt;
 show-tiling -x out.delta &amp;gt; test.mum.xml&lt;br /&gt;
&lt;br /&gt;
And finally you can provide this information to Bambus:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -m test.mates -x test.mum.xml -o test&lt;br /&gt;
&lt;br /&gt;
==== Using Makefiles ====&lt;br /&gt;
&lt;br /&gt;
If you have multiple XML files, it becomes tedious to generate each file separately and then provide them to Bambus with multiple -x options. You can create a Makefile compatible with GNU make that generates each of the XML files. You must be careful that the targets for all the XML files end in &amp;quot;.xml&amp;quot;, and no other targets (such as intermediate targets) have the same suffix. Bambus will assume that all .xml files produced by the Makefile must be added to the input.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An example of a simple Makefile that can generate the mummer information described above is:&lt;br /&gt;
&lt;br /&gt;
 test.mum.xml: ref.fasta test.fasta&lt;br /&gt;
 nucmer -a max-match ref.fasta test.fasta&lt;br /&gt;
 show-tiling -x out.delta &amp;gt; test.mum.xml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Untangling scaffolds ====&lt;br /&gt;
&lt;br /&gt;
By default, the scaffolds resulting from Bambus are potentially ambiguous as two or more contigs may occupy the same place in the genome. Such situations occur either due to misassembled repeats, or when assembling different haplotypes. Bambus contains a utility that does a best effort attempt to disambiguate the scaffolds, by breaking them into a set of non-ambiguous scaffolds. The algorithm is greedy and does not guarantee that an optimal solution (e.g. a minimum number of longest scaffolds) is produced.&lt;br /&gt;
&lt;br /&gt;
To run the untangler type:&lt;br /&gt;
&lt;br /&gt;
 untangle -e test.evidence.xml -s test.out.xml -o test.untangle.xml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The test.untangle.xml file has the same format as the output file ([[#.out.xml|.out.xml]]) and for each scaffold (e.g. scaff_1) contains one or more unambiguous scaffolds called &amp;quot;scaff_1_1, scaff_1_2, etc&amp;quot;. You can use the [[#Getting more (or less) information from the output|printScaff]] command to process the untangled file the same way you would process a normal Bambus output.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== File formats ==&lt;br /&gt;
&lt;br /&gt;
=== The configuration file ===&lt;br /&gt;
&lt;br /&gt;
Scaffolding parameters can be specified in a configuration file. Whenever you run Bambus a default configuration file is generated as default.conf. To create your own file you should rename this file then edit it. The following types of information can be specified:&lt;br /&gt;
&lt;br /&gt;
* Comments. Lines starting with # are considered comments and are ignored by the software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Priority information. Specifies an order in which the libraries are considered. For example, the following line specifies priority 2 for all MUMmer links. The libraries are considered in the increasing order of priorities.&lt;br /&gt;
&lt;br /&gt;
      priority MUMmer 2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If no configuration file is provided, all libraries are assumed to have the same priority. If a configuration file is provided, only those libraries that have a priority record are used in scaffolding. In other words, if a library has no priority record associated with it, it will not be used in scaffolding.&lt;br /&gt;
&lt;br /&gt;
A priority can also be specified for a specific redundancy parameter. For example, the following line specifies that those links between contigs supported by 4 or more sources of linking data should be processed at priority level 1. &lt;br /&gt;
&lt;br /&gt;
      priority redundancy 4 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note, however, that you need to also specify a set of libraries to be used at this priority level. A simple shortcut is specifying that all link classes should be processed at this redundancy.&lt;br /&gt;
&lt;br /&gt;
      priority ALL 1&lt;br /&gt;
      &lt;br /&gt;
&lt;br /&gt;
If you are uncertain of which libraries your project uses, run Bambus without a configuration file. The libraries will be listed in a file ending in &amp;quot;.libs&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Redundancy information. Specifies the minimum number of links required for a valid inter-contig link. You can specify this parameter as a global value:&lt;br /&gt;
&lt;br /&gt;
   redundancy 2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
that is, all contigs must be linked by at least two links. You can also specify a per-library value like below which says a single MUMmer link is required to link two contigs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   redundancy MUMmer 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Minimum scaffold size. Specifies a scaffold size cutoff. For example thisimplies that only scaffolds that contain more than 10kbp are present in the output.:&lt;br /&gt;
&lt;br /&gt;
      mingroupsize 10000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Link size error. For some link types, determining the exact link length can only be done within a certain error. This parameter specifies, as a percentage, the estimated error in size determination. For example, since MUMmer links make an assumption of evolutionary closeness between two genomes, the error associated with them should be proportional to the estimated evolutionary distance (as nucleotide % similarity) between the two genomes. For an error of 5% use this parameter: &lt;br /&gt;
&lt;br /&gt;
      error MUMmer 0.05&lt;br /&gt;
  &lt;br /&gt;
* Overlapping contigs allowed. For each library you can control the link validation process by specifying whether adjacent contigs are allowed to overlap or not. By default mate-pair links assume adjacent contigs do not overlap, while MUMmer links allow contigs to overlap. This is equivalent to the configuration parameters:&lt;br /&gt;
  &lt;br /&gt;
      overlaps lib_1 N&lt;br /&gt;
      overlaps MUMmer Y&lt;br /&gt;
&lt;br /&gt;
An example is provided in [[bambus.conf|data/sample_files/bambus.conf]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== The .mates file ===&lt;br /&gt;
&lt;br /&gt;
The .mates file provides two types of information: library data, and mate-pair relationships between reads.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Library data can be described in two formats:&lt;br /&gt;
 library	&amp;lt;name&amp;gt;	&amp;lt;min_size&amp;gt;	&amp;lt;max_size&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and&lt;br /&gt;
 library	&amp;lt;name&amp;gt;	&amp;lt;min_size&amp;gt;	&amp;lt;max_size&amp;gt;	&amp;lt;regexp&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Both formats require you to name each library and to provide a size range for the inserts belonging to it. The second format allows you to also provide a Perl regular expression that describes the naming convention for reads belonging to the library. The part of the sequence name that represents the library name must be placed within parentheses. As an example, the regular expression for TIGR sequences (where the library is specified by the first 4 characters) is:&lt;br /&gt;
 (....).*&lt;br /&gt;
&lt;br /&gt;
Mate-pair relationships can also be described in two ways:&lt;br /&gt;
 pair	&amp;lt;regexp_forw&amp;gt;	&amp;lt;regexp_rev&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
 &amp;lt;seq_forw_1&amp;gt;	&amp;lt;seq_rev_1&amp;gt;	&amp;lt;library_name&amp;gt;&lt;br /&gt;
 &amp;lt;seq_forw_2&amp;gt;	&amp;lt;seq_rev_2&amp;gt;	&amp;lt;library_name&amp;gt;&lt;br /&gt;
 &amp;lt;seq_forw_3&amp;gt;	&amp;lt;seq_rev_3&amp;gt;	&amp;lt;library_name&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
The first format requires two regular expressions corresponding to the forward and reverse mates of an insert. Just like the library record, the portion of the name corresponding to the insert name must be placed within parentheses. Two reads that match the two regular expressions, and have the exact same section matched within the parentheses will be considered mates. The library will be determined from the regular expression associated with a &amp;quot;library&amp;quot; record. As an example, at TIGR the first 7 characters represent the insert, then are followed by an optional T or P and the primer name (F or R for Forward or Reverse). The corresponding regular expression is:&lt;br /&gt;
 pair	(.......)[TP]?F	(.......)[TP]?R&lt;br /&gt;
&lt;br /&gt;
The second format is simply a list of sequence name pairs each followed by the name of the library they belong to. The corresponding library records must be listed in the file before the pairing data.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note that fields in the .mates file must be separated by TAB characters otherwise the program will report an error.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
An example of a .mates file using the phred/phrap naming convention is provided in [[bambus.mates|data/sample_files/bambus.mates]].&lt;br /&gt;
&lt;br /&gt;
=== Repeat files ===&lt;br /&gt;
&lt;br /&gt;
The repeat files used in screening linking data conform to the output standards of the repeatFinder program. The file contains 5 TAB-delimited values: contig ID, repeat name, left and right coordinates within the contig, and contig class. Only the first 4 values are essential as far as Bambus is concerned. Here is an example of repeat records:&lt;br /&gt;
&lt;br /&gt;
 AC009139.7.3 RPT1A 14554 96820 1&lt;br /&gt;
 AC026498.3.2 RPT1B 124208 206475 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .evidence.xml ===&lt;br /&gt;
&lt;br /&gt;
This provides an XML representation of the input file. Below is a description of the data presented in this file (see also an [[bambus.evidence.xml|example]]):&lt;br /&gt;
&lt;br /&gt;
The overall flow of the XML file is:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;EVIDENCE&amp;gt;&lt;br /&gt;
   &amp;lt;LIBRARY&amp;gt;&lt;br /&gt;
    &amp;lt;INSERT&amp;gt;&lt;br /&gt;
      &amp;lt;SEQUENCE/&amp;gt;&lt;br /&gt;
      &amp;lt;SEQUENCE/&amp;gt;&lt;br /&gt;
    &amp;lt;/INSERT&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
  &amp;lt;/LIBRARY&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;CONTIG&amp;gt;&lt;br /&gt;
    &amp;lt;SEQUENCE/&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
  &amp;lt;/CONTIG&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;LINK&amp;gt;&lt;br /&gt;
    &amp;lt;CONTIG/&amp;gt;&lt;br /&gt;
    &amp;lt;CONTIG/&amp;gt;&lt;br /&gt;
  &amp;lt;/LINK&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &amp;lt;/EVIDENCE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;EVIDENCE                        this is the parent tag - the whole document occurs within &amp;lt;EVIDENCE&amp;gt; and &amp;lt;/EVIDENCE&amp;gt;&lt;br /&gt;
  ID = &amp;quot;1&amp;quot;                        some identifier for the file&lt;br /&gt;
  DATE = &amp;quot;12/15/03&amp;quot;               date when file was created&lt;br /&gt;
  PROJECT = &amp;quot;MyProject&amp;quot;           verbose description of the project&lt;br /&gt;
  PARAMETERS = &amp;quot;&amp;quot;                 parameters used in creating this file&lt;br /&gt;
 &amp;gt;&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;LIBRARY                         for each shotgun library you need a separate library tag.&lt;br /&gt;
  ID = &amp;quot;lib_1&amp;quot;                    some identifier for the library&lt;br /&gt;
  NAME = &amp;quot;short&amp;quot;                  verbose name for the library&lt;br /&gt;
  MIN = &amp;quot;1200&amp;quot;                    minimum size of inserts in this library&lt;br /&gt;
  MAX = &amp;quot;3500&amp;quot;                    maximum size of inserts in this library&lt;br /&gt;
 &amp;gt;&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;INSERT                          the insert concept links together the two reads obtained from opposite ends of a clone insert&lt;br /&gt;
  ID=&amp;quot;ins_1&amp;quot;                      generic identifier for the insert&lt;br /&gt;
  NAME=&amp;quot;GALBZ92&amp;quot;                  verbose name for the insert&lt;br /&gt;
 &amp;gt; 	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SEQUENCE                        each insert contains two sequence reads obtained from to the opposite ends&lt;br /&gt;
  ID=&amp;quot;seq_1&amp;quot;                      generic identifier for the sequence&lt;br /&gt;
  NAME=&amp;quot;GALBZ92TF&amp;quot;                verbose name for the sequence&lt;br /&gt;
 &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;CONTIG                          Each contig in the assembly needs to be represented in the file&lt;br /&gt;
  ID=&amp;quot;contig_1&amp;quot;                   contig identifier&lt;br /&gt;
  NAME= &amp;quot;1&amp;quot;                       contig name (usually the same as the identifier)&lt;br /&gt;
  LEN=&amp;quot;12352&amp;quot;                     contig length in basepairs&lt;br /&gt;
 &amp;gt; 	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SEQUENCE                        each sequence in the contig is listed together with information about the position within the contig.&lt;br /&gt;
  ID=&amp;quot;seq_1&amp;quot;                      sequence identifier (must match one described in the library section)&lt;br /&gt;
  ORI=&amp;quot;BE&amp;quot;                        orientation of sequence: BE - forward, EB - reverse&lt;br /&gt;
  ASM_LEND=&amp;quot;0&amp;quot;                    coordinate of sequence&amp;#039;s left end within the contig&lt;br /&gt;
  ASM_REND=&amp;quot;525&amp;quot;                  coordinate of sequence&amp;#039;s right end within the contig&lt;br /&gt;
 &amp;gt; 	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;LINK                            this is a generic link between two contigs (i.e. not inferred from mate-pair data)&lt;br /&gt;
  ID = &amp;quot;link_1&amp;quot;                   link identifier&lt;br /&gt;
  SIZE = &amp;quot;-800&amp;quot;                   size of gap between the two contigs&lt;br /&gt;
  TYPE = &amp;quot;MUMmer&amp;quot;                 link type: links with the same type get grouped into a virtual &amp;quot;library&amp;quot; used in specifying priorities&lt;br /&gt;
 &amp;gt; 	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;CONTIG                          each link contains two contigs&lt;br /&gt;
  ID = &amp;quot;contig_1&amp;quot;                 contig identifier: must match one described in the contig section above&lt;br /&gt;
  ORI = &amp;quot;EB&amp;quot;                      contig orientation: BE - forward, EB - reverse&lt;br /&gt;
 &amp;gt; 	                          each contig record may contain free-form data specifying the evidence for linking: e.g. alignment data&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
=== .out.xml ===&lt;br /&gt;
&lt;br /&gt;
Represents, together with the evidence file, a description of the layout of the contigs. For each scaffold, the order (given as a coordinate along a chromosome) and the orientation of each contig is presented, together with a list of all the links used to generate this layout. Some links are deemed invalid, being given a code of &amp;quot;LEN&amp;quot; in case the length was deemed incorrect, or &amp;quot;ORI&amp;quot; in case the link orientation was considered incorrect. This file is also specified by the [[bambus.dtd|DTD]] and an example ([[bambus.out.xml|data/sample_files/bambus.out.xml]]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .stats file ===&lt;br /&gt;
&lt;br /&gt;
Finally, BAMBUS outputs a summary of the scaffolds generated. This file is pretty much self-explanatory, as evidenced by this example ([[bambus.stats|data/sample_files/bambus.stats]]). Note that in the .stats file, the N50 sizes are computed with respect to the total span of the scaffolds unless a different genome size is specified in a file called genome.size.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .details file ===&lt;br /&gt;
&lt;br /&gt;
The .details file contains detailed information about the linking information between adjacent contigs. The contigs&amp;#039; orientation, size, and coordinates are listed and then all the linking data grouped by validity and library. An example is provided in [[bambus.details|data/sample_files/bambus.details]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .dot file ===&lt;br /&gt;
&lt;br /&gt;
Represents a graphical representation of the scaffolds in GraphViz format. Please see the [http://www.research.att.com/sw/tools/graphviz/ AT&amp;amp;T GraphViz] website for more information on this file format.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .ps file ===&lt;br /&gt;
&lt;br /&gt;
A postscript image generated from the GraphViz-formatted file. It can be obtained from the .dot file with the command:&lt;br /&gt;
 dot -Tps -o prefix.ps prefix.dot&lt;br /&gt;
&lt;br /&gt;
An example is given in the picture below.&lt;br /&gt;
[[Image:bambus-display.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Each scaffold is placed in a box, labeled with some statistics on the scaffold size (number of contigs, number of bases and span). All the &amp;quot;gaps&amp;quot; - linking relationships between the contigs are represented as edges. Each edge is decorated with the number of links contributing to it, the number of links from each library type, and the number of links invalidated due to incorrect length (L) or orientation (O). Each contig&amp;#039;s ID, size, and coordinates within the scaffold are also listed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .oo file ===&lt;br /&gt;
&lt;br /&gt;
This file contains a summary of the order and orientation of all contigs present in the data. Each scaffold starts with a FASTA-like header containing the identifier for the scaffold followed by the number of contigs, size and span. Within each scaffold, all contigs are listed in the scaffold order, followed by the string BE for those in the forward orientation and EB for those in the reverse orientation. An example file is shown in: [[bambus.oo|data/sample_files/bambus.oo]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .sum file ===&lt;br /&gt;
&lt;br /&gt;
This file contains one line for each scaffold. Each line contains the scaffold ID, number of contigs, scaffold size, and span. The four values are separated by TAB characters. See an example in [[bambus.sum|data/sample_files/bambus.sum]].&lt;br /&gt;
&lt;br /&gt;
== Known problems ==&lt;br /&gt;
There is a small &amp;quot;off-by-one&amp;quot; error in computing contig coordinates. It should not really affect the usefulness of the output.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Contact information ==&lt;br /&gt;
&lt;br /&gt;
BAMBUS is currently provided AS-IS, in other words we do not provide any support for the software. We would, however, like to hear your comments and suggestions.  For Bambus bug reports, support requests, or any other inquiries please browse our SourceForge project page or Email us at:&lt;br /&gt;
&lt;br /&gt;
  amos-help (at) lists (dot) sourceforge (dot) net&lt;br /&gt;
&lt;br /&gt;
BAMBUS was written by Mihai Pop and Dan Kosack.&lt;/div&gt;</summary>
		<author><name>Dmb000006</name></author>	</entry>

	<entry>
		<id>http://amos.sourceforge.net/wiki/index.php/Bambus_Manual</id>
		<title>Bambus Manual</title>
		<link rel="alternate" type="text/html" href="http://amos.sourceforge.net/wiki/index.php/Bambus_Manual"/>
				<updated>2010-12-16T15:08:50Z</updated>
		
		<summary type="html">&lt;p&gt;Dmb000006: /* Getting more (or less) information from the output */ I&amp;#039;m fairly sure that that was a formatting error&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
 | __TOC__&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The output of most shotgun sequence assembly programs (such as TIGR Assembler, phrap, or CAP3) consists in a set of un-related contigs, whose order and orientation along the chromosome is unknown. Scaffolding represents the task of ordering and orienting these contigs by using additional information about their relative placement. Traditionally such information was identified from the pairing of reads from the opposite ends of an insert in double-barelled shotgun experiments (see figure).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:scaffold image.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Besides clone mate information, homology data, physical maps, or gene synteny information can be used to derive relationships between contigs. BAMBUS is a program written to handle all such types of data in a generic fashion in order to build contig scaffolds. In order to account for the varied quality of linking information BAMBUS allows the user to specify a hierarchy that will consider the most reliable linking data first, then expand the scaffolds using less reliable data. This approach minimizes the effect of errors inherent to experimentally-derived linking information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Algorithm overview ===&lt;br /&gt;
&lt;br /&gt;
BAMBUS has two main modes of operation: hierarchical - when the links are considered in the order of their priorities, and standard - when all the links are considered at the same priority level. In the latter case, all links connecting two contigs are bundled together to form a &amp;quot;gap&amp;quot;, or &amp;quot;edge&amp;quot; if you look at the problem from a graph theoretical point of view. Each link is checked for validity before being added to a bundle. Thus, a link is considered invalid due to a length constraint if it forces the two contigs to overlap. In other words, if we assume the largest possible size for the insert corresponding to the link, if the coordinates of the mate-pair within the contigs force the contigs to overlap, we discard the link assuming it is due to a misassembly (Note: this behaviour can be specified on a link-by-link basis). Links that pass this test are further checked for consistency. If they do not all agree in the relative orientations of the contigs they imply, a majority rule is used to retain only those links that agree both in orientation and length. Furthermore, the bundle, or edge, is retained if it contains at least two links (this parameter, redundancy, can actually be tuned by the user). After this step is complete, the resulting graph gets traversed twice, once to assign consistent orientations to all the contigs, and the second time to determine the order of the contigs along the chromosome. Note that inconsistencies in order are currently allowed since they can provide finishing teams with useful information. In a future version of BAMBUS we will add an option to allow the generation of unambiguous scaffolds as well. Currently you can generate such unambiguous scaffolds using the [[#Untangling scaffolds|untangle]] program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
* Install AMOS&lt;br /&gt;
* Perl 5.6 or later&lt;br /&gt;
* [http://www.cpan.org/ XML::Parser] perl module&lt;br /&gt;
* [http://www.cpan.org/ Config::IniFiles] perl module&lt;br /&gt;
* [http://www.research.att.com/sw/tools/graphviz/ GraphViz] package&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Obtaining BAMBUS ===&lt;br /&gt;
&lt;br /&gt;
BAMBUS 2.3 is available free of charge under the open-source Artistic License.&lt;br /&gt;
&lt;br /&gt;
The Bambus source if freely available for download from the File Release Section of our SourceForge project page.&lt;br /&gt;
&lt;br /&gt;
To receive information regarding new releases and developments, please subscribe to our moderated, low-traffic users&amp;#039; mailing list:&lt;br /&gt;
&lt;br /&gt;
 amos-users(at)lists(dot)sourceforge(dot)net&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Actual installation ===&lt;br /&gt;
&lt;br /&gt;
1. Find a directory where you want the software installed. For example /users/home/CoolUser&lt;br /&gt;
&lt;br /&gt;
2. Place the tar file bambus-2.33.tar.gz in this directory&lt;br /&gt;
&lt;br /&gt;
3. Unpack the distribution&lt;br /&gt;
 % tar xvzf bambus-2.33.tar.gz&lt;br /&gt;
&lt;br /&gt;
4. Go into the newly created directory&lt;br /&gt;
 % cd bambus-2.33&lt;br /&gt;
&lt;br /&gt;
5. Carefully read the documentation&lt;br /&gt;
&lt;br /&gt;
6. Edit the file Makefile and change the value of BASEDIR to the correct installation path, for example:&lt;br /&gt;
 BASEDIR = /users/home/CoolUser&lt;br /&gt;
&lt;br /&gt;
7. Also check if the path for perl (in variable PERL) matches the one on your system. Several common options are:&lt;br /&gt;
 PERL = /usr/local/bin/perl&lt;br /&gt;
 PERL = /usr/bin/perl&lt;br /&gt;
&lt;br /&gt;
8. Type &amp;#039;gmake install&amp;#039; to have all the software installed. The executables will be in /users/home/CoolUser/bin/ and the documentation in /users/home/CoolUser/doc.&lt;br /&gt;
&lt;br /&gt;
9. To get started you can try out the small test dataset provided in data/test_run by typing:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -m test.mates -o test-bambus&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Running BAMBUS ==&lt;br /&gt;
&lt;br /&gt;
The input to Bambus consists in a set of links between contigs. These links can be inferred from the pairing of reads belonging to the same insert, from physical map data, or from alignment to another genome. To accomodate these types of sources of linking information, and to allow for further extensions, the input to Bambus is presented in a general purpose XML format. &lt;br /&gt;
&lt;br /&gt;
The following sections describe how the XML file can be generated for each type of linking data. For more information see [[#.evidence.xml|.evidence.xml]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Linking information is grouped into &amp;quot;libraries&amp;quot;. All links within a library have similar parameters. In the case of mate-pair linking information the libraries match the standard definition. For other linking data, for example MUMmer links, the library grouping reflects specific characteristics of the linking data. For example all MUMmer links are grouped within a library called &amp;quot;MUMmer&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Command line options ===&lt;br /&gt;
&lt;br /&gt;
Bambus consists in a collection of programs controlled by a script called goBambus. The execution is controlled by the following sets of parameters. To obtain a list of all parameters and basic help information you need to type:&lt;br /&gt;
&lt;br /&gt;
 goBambus -h&lt;br /&gt;
or&lt;br /&gt;
 goBambus -help&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Configuration options ====&lt;br /&gt;
&lt;br /&gt;
* -C &amp;lt;conf_file&amp;gt; . This parameter specifies the configuration file used by Bambus. A configuration file is not required, however it is useful if you want to change the default parameters. See [[#The configuration file|the configuration file]] for a detailed description of the configuration information.&lt;br /&gt;
&lt;br /&gt;
Whenever you run Bambus it will generate a default configuration file called default.conf. If you want to modify the parameters, you will need to rename this file and then edit it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Input Options ====&lt;br /&gt;
&lt;br /&gt;
* -a &amp;lt;asm_file&amp;gt; . Use a TIGR Assembler .asm file as source of linking information.&lt;br /&gt;
* -c &amp;lt;contig_file&amp;gt; . Use a GDE formatted .contig assembly file as source of linking information. The .contig files can be obtained either from TIGR Assembler output (by concatenating the contents of the .align directory) or by converting .ace files (created by phrap or Consed) using the [[ace2contig]] package.&lt;br /&gt;
* -x &amp;lt;xml_file&amp;gt;. Use additional XML formatted linking information. You can use the -x option multiple times. See [[#.evidence.xml|.evidence.xml]] for the XML file format.&lt;br /&gt;
* -mx &amp;lt;make_file&amp;gt;. Use a gmake compatible make file to specify how the additional XML information is generated. Each of the files created must end in &amp;quot;.xml&amp;quot;. Moreover, only the final XML targets are allowed to end in &amp;quot;.xml&amp;quot; to prevent goBambus from getting confused. See [[#Using Makefiles|using Makefiles]] for a more detailed description on using makefiles.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Mate-pair Information ====&lt;br /&gt;
&lt;br /&gt;
Assembly output (such as .asm and .contig files) does not generally contain any information about the pairing of reads coming from opposite ends of the same insert, nor about the membership of inserts to libraries. The following parameters specify how to obtain this mate-pair information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* -m &amp;lt;mates_file&amp;gt; . The mates file allows you to specify both library information and mate pairing information, using a system based on Perl regular expressions. See [[#The .mates file|the .mates file]].&lt;br /&gt;
* -D &amp;lt;database&amp;gt; . At TIGR, instead of a mates file you can opt to use a database to obtain library and mate information. Note that the -m and -D options are complementary. The following three parameters specify database options:&lt;br /&gt;
* -S &amp;lt;server&amp;gt; . Select a specific database server&lt;br /&gt;
* -U &amp;lt;user&amp;gt; . Log in with the specified user name&lt;br /&gt;
* -P &amp;lt;passwd&amp;gt; . Log in with the specified password&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Output Options ====&lt;br /&gt;
&lt;br /&gt;
* -o &amp;lt;output_prefix&amp;gt; . All the output file names will be generated from the &amp;lt;output_prefix&amp;gt; prefix.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Repeat Screening ====&lt;br /&gt;
&lt;br /&gt;
Misassembled repeats can confuse Bambus, therefore it makes sense to screen the known repeats that may be misassembled. Bambus can use two types of repeat screening information:&lt;br /&gt;
&lt;br /&gt;
* -r . Screen against the repeats listed in the database (option -D must be provided)&lt;br /&gt;
* -r &amp;lt;repfile&amp;gt; . Screen against repeats described in [[#Repeat files|repeat files]]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Flow-control ====&lt;br /&gt;
&lt;br /&gt;
* -start &amp;lt;num&amp;gt;&lt;br /&gt;
* -end &amp;lt;num&amp;gt;. The execution of Bambus consists in a set of steps. The user can choose to start or end at a specific step for example in the case when she modifies the configuration file and wants to re-run just the final steps of the scaffolders. This feature should be used with caution.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Typical use cases ===&lt;br /&gt;
==== Using assembler output ====&lt;br /&gt;
&lt;br /&gt;
For convenience, Bambus can use the output of an assembly program and automatically generate the required linking information. Two types of information are required:&lt;br /&gt;
&lt;br /&gt;
* the tiling of reads in the assembly&lt;br /&gt;
* information about the pairing of reads&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The first type of information can be obtained from the .asm or .contig output formats of TIGR Assembler. For more information about these file formats please refer to the [http://www.jcvi.org/cms/publications/listing/abstract/article/tigr-assembler-a-new-tool-for-assembling-large-shotgun-sequencing-projects/ TIGR Assembler documentation]. Note that the .contig file may be stripped of all sequence data as the only information used is that contained in the lines starting with #. In case you are using an assembler other than TIGR Assembler you may need to use the ta2ace package to convert the output into the .contig format.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The second type of information can be obtained from a [[#The .mates file|.mates file]], or from the database in case you are at TIGR.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A typical command line for someone outside of TIGR is:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -m test.mates -o test&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and the execution will generate the following files:&lt;br /&gt;
&lt;br /&gt;
* [[#.stats file|test.stats]] - statistics on scaffolds and libraries &lt;br /&gt;
* [[#.details file|test.details]] - detailed information about each contig pair (also called &amp;quot;gap&amp;quot;). &lt;br /&gt;
* [[#.dot file|test.dot]] - GraphViz formatted description of the contig linkage information.&lt;br /&gt;
* [[#.evidence.xml|test.evidence.xml]] - XML representation of all the linking evidence provided.&lt;br /&gt;
* [[#.out.xml|test.out.xml]] - XML representation of the scaffolds.&lt;br /&gt;
* [[#.ps file|test.lib]] - list of the codes associated with each input library. These codes are reported on the links in the output file.&lt;br /&gt;
* [[#.sum file|test.sum]] - one-line sumaries of all scaffolds.&lt;br /&gt;
* [[#.oo file|test.oo]] - order and orientation information for all the contigs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Additionally, the program generates some &amp;quot;working&amp;quot; files that are currently not removed as they provide useful debugging information.&lt;br /&gt;
&lt;br /&gt;
* test.detective.xml - linking information derived from assembler input alone. It&amp;#039;s the same as test.evidence.xml unless additional XML files are provided in the input.&lt;br /&gt;
* test.inp - input to the core scaffolding engine.&lt;br /&gt;
* test.grommit.conf - configuration information for the scaffolding engine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To view the graphical output you need to convert it to Postscript with the command:&lt;br /&gt;
&lt;br /&gt;
 dot -Tps -o test.ps test.dot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then you can view the postscript file with the command:&lt;br /&gt;
&lt;br /&gt;
 gv test.ps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
At TIGR, instead of specifying a .mates file you can use the database:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -D gbx -U access -P access -o test&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Getting more (or less) information from the output ====&lt;br /&gt;
&lt;br /&gt;
You can modify the information you get in the output by directly calling the printScaff command. PrintScaff requires as inputs the .evidence.xml file, the .out.xml file and the .lib files produce by Bambus, the minimal invocation being:&lt;br /&gt;
&lt;br /&gt;
 printScaff -e test.evidence.xml -s test.out.xml -l test.lib&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Optionally you may specify the output prefix with option -o (just like in the Bambus invocation). PrintScaff has parameters that control what gets reported, and in what format. In the first category you have:&lt;br /&gt;
&lt;br /&gt;
* -dot - produce a .dot file&lt;br /&gt;
* -detail - produce a .details file&lt;br /&gt;
* -oo - produce a [[#.oo file|.oo]] file listing all the contigs in each scaffold&lt;br /&gt;
* -sum - produce a [[#.sum file|.sum]] tab delimited list of scaffold stats (#contigs, size, and span)&lt;br /&gt;
* -f &amp;lt;fasta_file&amp;gt; - generate a pseudo-molecule for each scaffold using the contig sequences listed in &amp;lt;fasta_file&amp;gt;. Note that the contigs in the scaffold files are names &amp;quot;contig_&amp;lt;id&amp;gt;&amp;quot; while the contigs in the &amp;lt;fasta_file&amp;gt; must simply be called &amp;quot;&amp;lt;id&amp;gt;&amp;quot;. Note that this option together with the default -merge option (see below) is meaningless unless you&amp;#039;ve [[#Untangling scaffolds|untangled]] the scaffold.&lt;br /&gt;
* -phys - create a .phys file listing all &amp;quot;gaps&amp;quot; spanned only by the specified libraries:&lt;br /&gt;
&lt;br /&gt;
 printScaff -e test.evidence.xml -s test.out.xml -l test.lib -phys MUMmer&lt;br /&gt;
&lt;br /&gt;
will generate a file called test.phys that contains all contig pairs linked by nothing but MUMmer links.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the second category you have:&lt;br /&gt;
&lt;br /&gt;
* -page - produce .dot file formatted for printing on 8.5x11&amp;quot; paper&lt;br /&gt;
* -plot - produce .dot file formatted for printing on a plotter (36x48&amp;quot; paper)&lt;br /&gt;
* -unused - draw edges corresponding to unused links&lt;br /&gt;
* -merge - (default) when the -f option is given, produce a pseudo-molecule for each scaffold by adding 60 N characters between the contigs in the scaffold&lt;br /&gt;
* -nomerge - when the -f option is given, create a fasta file containing all contigs in each scaffold in the correct orientation&lt;br /&gt;
&lt;br /&gt;
==== Adding additional XML linking information ====&lt;br /&gt;
&lt;br /&gt;
You can easily add additional linking information as long as it&amp;#039;s in a format similar to the [[#.evidence.xml file|.evidence.xml file]]. Assuming we have two such files &amp;quot;link1.xml&amp;quot; and &amp;quot;link2.xml&amp;quot; you can call Bambus as follows:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -m test.mates -x link1.xml -x link2.xml -o test&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The result being the same as if you concatenated the XML file inferred from the .contig file together with the two additional XML files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Using MUMmer links ====&lt;br /&gt;
&lt;br /&gt;
In case you are sequencing a genome for which a close relative has been completed, you can use [[MUMmer]] to infer links between contigs. Assume you have the reference genome in a file &amp;quot;ref.fasta&amp;quot; and all the contigs from the genome you are assembling in a file called &amp;quot;test.fasta&amp;quot;, you can run MUMmer to align the test genome to the reference:&lt;br /&gt;
&lt;br /&gt;
 nucmer -maxmatch ref.fasta test.fasta&lt;br /&gt;
&lt;br /&gt;
The output will be placed in a file called out.delta. You can then convert the alignment information into an XML file suitable for Bambus as follows:&lt;br /&gt;
&lt;br /&gt;
 show-tiling -x out.delta &amp;gt; test.mum.xml&lt;br /&gt;
&lt;br /&gt;
And finally you can provide this information to Bambus:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -m test.mates -x test.mum.xml -o test&lt;br /&gt;
&lt;br /&gt;
==== Using Makefiles ====&lt;br /&gt;
&lt;br /&gt;
If you have multiple XML files, it becomes tedious to generate each file separately and then provide them to Bambus with multiple -x options. You can create a Makefile compatible with GNU make that generates each of the XML files. You must be careful that the targets for all the XML files end in &amp;quot;.xml&amp;quot;, and no other targets (such as intermediate targets) have the same suffix. Bambus will assume that all .xml files produced by the Makefile must be added to the input.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An example of a simple Makefile that can generate the mummer information described above is:&lt;br /&gt;
&lt;br /&gt;
 test.mum.xml: ref.fasta test.fasta&lt;br /&gt;
 nucmer -a max-match ref.fasta test.fasta&lt;br /&gt;
 show-tiling -x out.delta &amp;gt; test.mum.xml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Untangling scaffolds ====&lt;br /&gt;
&lt;br /&gt;
By default, the scaffolds resulting from Bambus are potentially ambiguous as two or more contigs may occupy the same place in the genome. Such situations occur either due to misassembled repeats, or when assembling different haplotypes. Bambus contains a utility that does a best effort attempt to disambiguate the scaffolds, by breaking them into a set of non-ambiguous scaffolds. The algorithm is greedy and does not guarantee that an optimal solution (e.g. a minimum number of longest scaffolds) is produced.&lt;br /&gt;
&lt;br /&gt;
To run the untangler type:&lt;br /&gt;
&lt;br /&gt;
 untangle -e test.evidence.xml -s test.out.xml -o test.untangle.xml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The test.untangle.xml file has the same format as the output file ([[#.out.xml|.out.xml]]) and for each scaffold (e.g. scaff_1) contains one or more unambiguous scaffolds called &amp;quot;scaff_1_1, scaff_1_2, etc&amp;quot;. You can use the [[#Getting more (or less) information from the output|printScaff]] command to process the untangled file the same way you would process a normal Bambus output.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== File formats ==&lt;br /&gt;
&lt;br /&gt;
=== The configuration file ===&lt;br /&gt;
&lt;br /&gt;
Scaffolding parameters can be specified in a configuration file. Whenever you run Bambus a default configuration file is generated as default.conf. To create your own file you should rename this file then edit it. The following types of information can be specified:&lt;br /&gt;
&lt;br /&gt;
* Comments. Lines starting with # are considered comments and are ignored by the software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Priority information. Specifies an order in which the libraries are considered. For example, the following line specifies priority 2 for all MUMmer links. The libraries are considered in the increasing order of priorities.&lt;br /&gt;
&lt;br /&gt;
      priority MUMmer 2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If no configuration file is provided, all libraries are assumed to have the same priority. If a configuration file is provided, only those libraries that have a priority record are used in scaffolding. In other words, if a library has no priority record associated with it, it will not be used in scaffolding.&lt;br /&gt;
&lt;br /&gt;
A priority can also be specified for a specific redundancy parameter. For example, the following line specifies that those links between contigs supported by 4 or more sources of linking data should be processed at priority level 1. &lt;br /&gt;
&lt;br /&gt;
      priority redundancy 4 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note, however, that you need to also specify a set of libraries to be used at this priority level. A simple shortcut is specifying that all link classes should be processed at this redundancy.&lt;br /&gt;
&lt;br /&gt;
      priority ALL 1&lt;br /&gt;
      &lt;br /&gt;
&lt;br /&gt;
If you are uncertain of which libraries your project uses, run Bambus without a configuration file. The libraries will be listed in a file ending in &amp;quot;.libs&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Redundancy information. Specifies the minimum number of links required for a valid inter-contig link. You can specify this parameter as a global value:&lt;br /&gt;
&lt;br /&gt;
   redundancy 2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
that is, all contigs must be linked by at least two links. You can also specify a per-library value like below which says a single MUMmer link is required to link two contigs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   redundancy MUMmer 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Minimum scaffold size. Specifies a scaffold size cutoff. For example thisimplies that only scaffolds that contain more than 10kbp are present in the output.:&lt;br /&gt;
&lt;br /&gt;
      mingroupsize 10000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Link size error. For some link types, determining the exact link length can only be done within a certain error. This parameter specifies, as a percentage, the estimated error in size determination. For example, since MUMmer links make an assumption of evolutionary closeness between two genomes, the error associated with them should be proportional to the estimated evolutionary distance (as nucleotide % similarity) between the two genomes. For an error of 5% use this parameter: &lt;br /&gt;
&lt;br /&gt;
      error MUMmer 0.05&lt;br /&gt;
  &lt;br /&gt;
* Overlapping contigs allowed. For each library you can control the link validation process by specifying whether adjacent contigs are allowed to overlap or not. By default mate-pair links assume adjacent contigs do not overlap, while MUMmer links allow contigs to overlap. This is equivalent to the configuration parameters:&lt;br /&gt;
  &lt;br /&gt;
      overlaps lib_1 N&lt;br /&gt;
      overlaps MUMmer Y&lt;br /&gt;
&lt;br /&gt;
An example is provided in [[bambus.conf|data/sample_files/bambus.conf]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== The .mates file ===&lt;br /&gt;
&lt;br /&gt;
The .mates file provides two types of information: library data, and mate-pair relationships between reads.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Library data can be described in two formats:&lt;br /&gt;
 library	&amp;lt;name&amp;gt;	&amp;lt;min_size&amp;gt;	&amp;lt;max_size&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and&lt;br /&gt;
 library	&amp;lt;name&amp;gt;	&amp;lt;min_size&amp;gt;	&amp;lt;max_size&amp;gt;	&amp;lt;regexp&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Both formats require you to name each library and to provide a size range for the inserts belonging to it. The second format allows you to also provide a Perl regular expression that describes the naming convention for reads belonging to the library. The part of the sequence name that represents the library name must be placed within parentheses. As an example, the regular expression for TIGR sequences (where the library is specified by the first 4 characters) is:&lt;br /&gt;
 (....).*&lt;br /&gt;
&lt;br /&gt;
Mate-pair relationships can also be described in two ways:&lt;br /&gt;
 pair	&amp;lt;regexp_forw&amp;gt;	&amp;lt;regexp_rev&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
 &amp;lt;seq_forw_1&amp;gt;	&amp;lt;seq_rev_1&amp;gt;	&amp;lt;library_name&amp;gt;&lt;br /&gt;
 &amp;lt;seq_forw_2&amp;gt;	&amp;lt;seq_rev_2&amp;gt;	&amp;lt;library_name&amp;gt;&lt;br /&gt;
 &amp;lt;seq_forw_3&amp;gt;	&amp;lt;seq_rev_3&amp;gt;	&amp;lt;library_name&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
The first format requires two regular expressions corresponding to the forward and reverse mates of an insert. Just like the library record, the portion of the name corresponding to the insert name must be placed within parentheses. Two reads that match the two regular expressions, and have the exact same section matched within the parentheses will be considered mates. The library will be determined from the regular expression associated with a &amp;quot;library&amp;quot; record. As an example, at TIGR the first 7 characters represent the insert, then are followed by an optional T or P and the primer name (F or R for Forward or Reverse). The corresponding regular expression is:&lt;br /&gt;
 pair	(.......)[TP]?F	(.......)[TP]?R&lt;br /&gt;
&lt;br /&gt;
The second format is simply a list of sequence name pairs each followed by the name of the library they belong to. The corresponding library records must be listed in the file before the pairing data.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note that fields in the .mates file must be separated by TAB characters otherwise the program will report an error.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
An example of a .mates file using the phred/phrap naming convention is provided in [[bambus.mates|data/sample_files/bambus.mates]].&lt;br /&gt;
&lt;br /&gt;
=== Repeat files ===&lt;br /&gt;
&lt;br /&gt;
The repeat files used in screening linking data conform to the output standards of the repeatFinder program. The file contains 5 TAB-delimited values: contig ID, repeat name, left and right coordinates within the contig, and contig class. Only the first 4 values are essential as far as Bambus is concerned. Here is an example of repeat records:&lt;br /&gt;
&lt;br /&gt;
 AC009139.7.3 RPT1A 14554 96820 1&lt;br /&gt;
 AC026498.3.2 RPT1B 124208 206475 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .evidence.xml ===&lt;br /&gt;
&lt;br /&gt;
This provides an XML representation of the input file. Below is a description of the data presented in this file (see also an [[bambus.evidence.xml|example]]):&lt;br /&gt;
&lt;br /&gt;
The overall flow of the XML file is:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;EVIDENCE&amp;gt;&lt;br /&gt;
   &amp;lt;LIBRARY&amp;gt;&lt;br /&gt;
    &amp;lt;INSERT&amp;gt;&lt;br /&gt;
      &amp;lt;SEQUENCE/&amp;gt;&lt;br /&gt;
      &amp;lt;SEQUENCE/&amp;gt;&lt;br /&gt;
    &amp;lt;/INSERT&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
  &amp;lt;/LIBRARY&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;CONTIG&amp;gt;&lt;br /&gt;
    &amp;lt;SEQUENCE/&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
  &amp;lt;/CONTIG&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;LINK&amp;gt;&lt;br /&gt;
    &amp;lt;CONTIG/&amp;gt;&lt;br /&gt;
    &amp;lt;CONTIG/&amp;gt;&lt;br /&gt;
  &amp;lt;/LINK&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &amp;lt;/EVIDENCE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;EVIDENCE                        this is the parent tag - the whole document occurs within &amp;lt;EVIDENCE&amp;gt; and &amp;lt;/EVIDENCE&amp;gt;&lt;br /&gt;
  ID = &amp;quot;1&amp;quot;                        some identifier for the file&lt;br /&gt;
  DATE = &amp;quot;12/15/03&amp;quot;               date when file was created&lt;br /&gt;
  PROJECT = &amp;quot;MyProject&amp;quot;           verbose description of the project&lt;br /&gt;
  PARAMETERS = &amp;quot;&amp;quot;                 parameters used in creating this file&lt;br /&gt;
 &amp;gt;&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;LIBRARY                         for each shotgun library you need a separate library tag.&lt;br /&gt;
  ID = &amp;quot;lib_1&amp;quot;                    some identifier for the library&lt;br /&gt;
  NAME = &amp;quot;short&amp;quot;                  verbose name for the library&lt;br /&gt;
  MIN = &amp;quot;1200&amp;quot;                    minimum size of inserts in this library&lt;br /&gt;
  MAX = &amp;quot;3500&amp;quot;                    maximum size of inserts in this library&lt;br /&gt;
 &amp;gt;&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;INSERT                          the insert concept links together the two reads obtained from opposite ends of a clone insert&lt;br /&gt;
  ID=&amp;quot;ins_1&amp;quot;                      generic identifier for the insert&lt;br /&gt;
  NAME=&amp;quot;GALBZ92&amp;quot;                  verbose name for the insert&lt;br /&gt;
 &amp;gt; 	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SEQUENCE                        each insert contains two sequence reads obtained from to the opposite ends&lt;br /&gt;
  ID=&amp;quot;seq_1&amp;quot;                      generic identifier for the sequence&lt;br /&gt;
  NAME=&amp;quot;GALBZ92TF&amp;quot;                verbose name for the sequence&lt;br /&gt;
 &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;CONTIG                          Each contig in the assembly needs to be represented in the file&lt;br /&gt;
  ID=&amp;quot;contig_1&amp;quot;                   contig identifier&lt;br /&gt;
  NAME= &amp;quot;1&amp;quot;                       contig name (usually the same as the identifier)&lt;br /&gt;
  LEN=&amp;quot;12352&amp;quot;                     contig length in basepairs&lt;br /&gt;
 &amp;gt; 	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SEQUENCE                        each sequence in the contig is listed together with information about the position within the contig.&lt;br /&gt;
  ID=&amp;quot;seq_1&amp;quot;                      sequence identifier (must match one described in the library section)&lt;br /&gt;
  ORI=&amp;quot;BE&amp;quot;                        orientation of sequence: BE - forward, EB - reverse&lt;br /&gt;
  ASM_LEND=&amp;quot;0&amp;quot;                    coordinate of sequence&amp;#039;s left end within the contig&lt;br /&gt;
  ASM_REND=&amp;quot;525&amp;quot;                  coordinate of sequence&amp;#039;s right end within the contig&lt;br /&gt;
 &amp;gt; 	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;LINK                            this is a generic link between two contigs (i.e. not inferred from mate-pair data)&lt;br /&gt;
  ID = &amp;quot;link_1&amp;quot;                   link identifier&lt;br /&gt;
  SIZE = &amp;quot;-800&amp;quot;                   size of gap between the two contigs&lt;br /&gt;
  TYPE = &amp;quot;MUMmer&amp;quot;                 link type: links with the same type get grouped into a virtual &amp;quot;library&amp;quot; used in specifying priorities&lt;br /&gt;
 &amp;gt; 	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;CONTIG                          each link contains two contigs&lt;br /&gt;
  ID = &amp;quot;contig_1&amp;quot;                 contig identifier: must match one described in the contig section above&lt;br /&gt;
  ORI = &amp;quot;EB&amp;quot;                      contig orientation: BE - forward, EB - reverse&lt;br /&gt;
 &amp;gt; 	                          each contig record may contain free-form data specifying the evidence for linking: e.g. alignment data&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
=== .out.xml ===&lt;br /&gt;
&lt;br /&gt;
Represents, together with the evidence file, a description of the layout of the contigs. For each scaffold, the order (given as a coordinate along a chromosome) and the orientation of each contig is presented, together with a list of all the links used to generate this layout. Some links are deemed invalid, being given a code of &amp;quot;LEN&amp;quot; in case the length was deemed incorrect, or &amp;quot;ORI&amp;quot; in case the link orientation was considered incorrect. This file is also specified by the [[bambus.dtd|DTD]] and an example ([[bambus.out.xml|data/sample_files/bambus.out.xml]]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .stats file ===&lt;br /&gt;
&lt;br /&gt;
Finally, BAMBUS outputs a summary of the scaffolds generated. This file is pretty much self-explanatory, as evidenced by this example ([[bambus.stats|data/sample_files/bambus.stats]]). Note that in the .stats file, the N50 sizes are computed with respect to the total span of the scaffolds unless a different genome size is specified in a file called genome.size.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .details file ===&lt;br /&gt;
&lt;br /&gt;
The .details file contains detailed information about the linking information between adjacent contigs. The contigs&amp;#039; orientation, size, and coordinates are listed and then all the linking data grouped by validity and library. An example is provided in [[bambus.details|data/sample_files/bambus.details]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .dot file ===&lt;br /&gt;
&lt;br /&gt;
Represents a graphical representation of the scaffolds in GraphViz format. Please see the [http://www.research.att.com/sw/tools/graphviz/ AT&amp;amp;T GraphViz] website for more information on this file format.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .ps file ===&lt;br /&gt;
&lt;br /&gt;
A postscript image generated from the GraphViz-formatted file. It can be obtained from the .dot file with the command:&lt;br /&gt;
 dot -Tps -o prefix.ps prefix.dot&lt;br /&gt;
&lt;br /&gt;
An example is given in the picture below.&lt;br /&gt;
[[Image:bambus-display.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Each scaffold is placed in a box, labeled with some statistics on the scaffold size (number of contigs, number of bases and span). All the &amp;quot;gaps&amp;quot; - linking relationships between the contigs are represented as edges. Each edge is decorated with the number of links contributing to it, the number of links from each library type, and the number of links invalidated due to incorrect length (L) or orientation (O). Each contig&amp;#039;s ID, size, and coordinates within the scaffold are also listed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .oo file ===&lt;br /&gt;
&lt;br /&gt;
This file contains a summary of the order and orientation of all contigs present in the data. Each scaffold starts with a FASTA-like header containing the identifier for the scaffold followed by the number of contigs, size and span. Within each scaffold, all contigs are listed in the scaffold order, followed by the string BE for those in the forward orientation and EB for those in the reverse orientation. An example file is shown in: [[bambus.oo|data/sample_files/bambus.oo]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .sum file ===&lt;br /&gt;
&lt;br /&gt;
This file contains one line for each scaffold. Each line contains the scaffold ID, number of contigs, scaffold size, and span. The four values are separated by TAB characters. See an example in [[bambus.sum|data/sample_files/bambus.sum]].&lt;br /&gt;
&lt;br /&gt;
== Known problems ==&lt;br /&gt;
There is a small &amp;quot;off-by-one&amp;quot; error in computing contig coordinates. It should not really affect the usefulness of the output.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Contact information ==&lt;br /&gt;
&lt;br /&gt;
BAMBUS is currently provided AS-IS, in other words we do not provide any support for the software. We would, however, like to hear your comments and suggestions.  For Bambus bug reports, support requests, or any other inquiries please browse our SourceForge project page or Email us at:&lt;br /&gt;
&lt;br /&gt;
  amos-help (at) lists (dot) sourceforge (dot) net&lt;br /&gt;
&lt;br /&gt;
BAMBUS was written by Mihai Pop and Dan Kosack.&lt;/div&gt;</summary>
		<author><name>Dmb000006</name></author>	</entry>

	<entry>
		<id>http://amos.sourceforge.net/wiki/index.php/Bambus_Manual</id>
		<title>Bambus Manual</title>
		<link rel="alternate" type="text/html" href="http://amos.sourceforge.net/wiki/index.php/Bambus_Manual"/>
				<updated>2010-12-16T15:06:59Z</updated>
		
		<summary type="html">&lt;p&gt;Dmb000006: /* The .mates file */ More tabs. Minor formatting changes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
 | __TOC__&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The output of most shotgun sequence assembly programs (such as TIGR Assembler, phrap, or CAP3) consists in a set of un-related contigs, whose order and orientation along the chromosome is unknown. Scaffolding represents the task of ordering and orienting these contigs by using additional information about their relative placement. Traditionally such information was identified from the pairing of reads from the opposite ends of an insert in double-barelled shotgun experiments (see figure).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:scaffold image.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Besides clone mate information, homology data, physical maps, or gene synteny information can be used to derive relationships between contigs. BAMBUS is a program written to handle all such types of data in a generic fashion in order to build contig scaffolds. In order to account for the varied quality of linking information BAMBUS allows the user to specify a hierarchy that will consider the most reliable linking data first, then expand the scaffolds using less reliable data. This approach minimizes the effect of errors inherent to experimentally-derived linking information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Algorithm overview ===&lt;br /&gt;
&lt;br /&gt;
BAMBUS has two main modes of operation: hierarchical - when the links are considered in the order of their priorities, and standard - when all the links are considered at the same priority level. In the latter case, all links connecting two contigs are bundled together to form a &amp;quot;gap&amp;quot;, or &amp;quot;edge&amp;quot; if you look at the problem from a graph theoretical point of view. Each link is checked for validity before being added to a bundle. Thus, a link is considered invalid due to a length constraint if it forces the two contigs to overlap. In other words, if we assume the largest possible size for the insert corresponding to the link, if the coordinates of the mate-pair within the contigs force the contigs to overlap, we discard the link assuming it is due to a misassembly (Note: this behaviour can be specified on a link-by-link basis). Links that pass this test are further checked for consistency. If they do not all agree in the relative orientations of the contigs they imply, a majority rule is used to retain only those links that agree both in orientation and length. Furthermore, the bundle, or edge, is retained if it contains at least two links (this parameter, redundancy, can actually be tuned by the user). After this step is complete, the resulting graph gets traversed twice, once to assign consistent orientations to all the contigs, and the second time to determine the order of the contigs along the chromosome. Note that inconsistencies in order are currently allowed since they can provide finishing teams with useful information. In a future version of BAMBUS we will add an option to allow the generation of unambiguous scaffolds as well. Currently you can generate such unambiguous scaffolds using the [[#Untangling scaffolds|untangle]] program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
* Install AMOS&lt;br /&gt;
* Perl 5.6 or later&lt;br /&gt;
* [http://www.cpan.org/ XML::Parser] perl module&lt;br /&gt;
* [http://www.cpan.org/ Config::IniFiles] perl module&lt;br /&gt;
* [http://www.research.att.com/sw/tools/graphviz/ GraphViz] package&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Obtaining BAMBUS ===&lt;br /&gt;
&lt;br /&gt;
BAMBUS 2.3 is available free of charge under the open-source Artistic License.&lt;br /&gt;
&lt;br /&gt;
The Bambus source if freely available for download from the File Release Section of our SourceForge project page.&lt;br /&gt;
&lt;br /&gt;
To receive information regarding new releases and developments, please subscribe to our moderated, low-traffic users&amp;#039; mailing list:&lt;br /&gt;
&lt;br /&gt;
 amos-users(at)lists(dot)sourceforge(dot)net&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Actual installation ===&lt;br /&gt;
&lt;br /&gt;
1. Find a directory where you want the software installed. For example /users/home/CoolUser&lt;br /&gt;
&lt;br /&gt;
2. Place the tar file bambus-2.33.tar.gz in this directory&lt;br /&gt;
&lt;br /&gt;
3. Unpack the distribution&lt;br /&gt;
 % tar xvzf bambus-2.33.tar.gz&lt;br /&gt;
&lt;br /&gt;
4. Go into the newly created directory&lt;br /&gt;
 % cd bambus-2.33&lt;br /&gt;
&lt;br /&gt;
5. Carefully read the documentation&lt;br /&gt;
&lt;br /&gt;
6. Edit the file Makefile and change the value of BASEDIR to the correct installation path, for example:&lt;br /&gt;
 BASEDIR = /users/home/CoolUser&lt;br /&gt;
&lt;br /&gt;
7. Also check if the path for perl (in variable PERL) matches the one on your system. Several common options are:&lt;br /&gt;
 PERL = /usr/local/bin/perl&lt;br /&gt;
 PERL = /usr/bin/perl&lt;br /&gt;
&lt;br /&gt;
8. Type &amp;#039;gmake install&amp;#039; to have all the software installed. The executables will be in /users/home/CoolUser/bin/ and the documentation in /users/home/CoolUser/doc.&lt;br /&gt;
&lt;br /&gt;
9. To get started you can try out the small test dataset provided in data/test_run by typing:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -m test.mates -o test-bambus&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Running BAMBUS ==&lt;br /&gt;
&lt;br /&gt;
The input to Bambus consists in a set of links between contigs. These links can be inferred from the pairing of reads belonging to the same insert, from physical map data, or from alignment to another genome. To accomodate these types of sources of linking information, and to allow for further extensions, the input to Bambus is presented in a general purpose XML format. &lt;br /&gt;
&lt;br /&gt;
The following sections describe how the XML file can be generated for each type of linking data. For more information see [[#.evidence.xml|.evidence.xml]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Linking information is grouped into &amp;quot;libraries&amp;quot;. All links within a library have similar parameters. In the case of mate-pair linking information the libraries match the standard definition. For other linking data, for example MUMmer links, the library grouping reflects specific characteristics of the linking data. For example all MUMmer links are grouped within a library called &amp;quot;MUMmer&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Command line options ===&lt;br /&gt;
&lt;br /&gt;
Bambus consists in a collection of programs controlled by a script called goBambus. The execution is controlled by the following sets of parameters. To obtain a list of all parameters and basic help information you need to type:&lt;br /&gt;
&lt;br /&gt;
 goBambus -h&lt;br /&gt;
or&lt;br /&gt;
 goBambus -help&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Configuration options ====&lt;br /&gt;
&lt;br /&gt;
* -C &amp;lt;conf_file&amp;gt; . This parameter specifies the configuration file used by Bambus. A configuration file is not required, however it is useful if you want to change the default parameters. See [[#The configuration file|the configuration file]] for a detailed description of the configuration information.&lt;br /&gt;
&lt;br /&gt;
Whenever you run Bambus it will generate a default configuration file called default.conf. If you want to modify the parameters, you will need to rename this file and then edit it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Input Options ====&lt;br /&gt;
&lt;br /&gt;
* -a &amp;lt;asm_file&amp;gt; . Use a TIGR Assembler .asm file as source of linking information.&lt;br /&gt;
* -c &amp;lt;contig_file&amp;gt; . Use a GDE formatted .contig assembly file as source of linking information. The .contig files can be obtained either from TIGR Assembler output (by concatenating the contents of the .align directory) or by converting .ace files (created by phrap or Consed) using the [[ace2contig]] package.&lt;br /&gt;
* -x &amp;lt;xml_file&amp;gt;. Use additional XML formatted linking information. You can use the -x option multiple times. See [[#.evidence.xml|.evidence.xml]] for the XML file format.&lt;br /&gt;
* -mx &amp;lt;make_file&amp;gt;. Use a gmake compatible make file to specify how the additional XML information is generated. Each of the files created must end in &amp;quot;.xml&amp;quot;. Moreover, only the final XML targets are allowed to end in &amp;quot;.xml&amp;quot; to prevent goBambus from getting confused. See [[#Using Makefiles|using Makefiles]] for a more detailed description on using makefiles.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Mate-pair Information ====&lt;br /&gt;
&lt;br /&gt;
Assembly output (such as .asm and .contig files) does not generally contain any information about the pairing of reads coming from opposite ends of the same insert, nor about the membership of inserts to libraries. The following parameters specify how to obtain this mate-pair information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* -m &amp;lt;mates_file&amp;gt; . The mates file allows you to specify both library information and mate pairing information, using a system based on Perl regular expressions. See [[#The .mates file|the .mates file]].&lt;br /&gt;
* -D &amp;lt;database&amp;gt; . At TIGR, instead of a mates file you can opt to use a database to obtain library and mate information. Note that the -m and -D options are complementary. The following three parameters specify database options:&lt;br /&gt;
* -S &amp;lt;server&amp;gt; . Select a specific database server&lt;br /&gt;
* -U &amp;lt;user&amp;gt; . Log in with the specified user name&lt;br /&gt;
* -P &amp;lt;passwd&amp;gt; . Log in with the specified password&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Output Options ====&lt;br /&gt;
&lt;br /&gt;
* -o &amp;lt;output_prefix&amp;gt; . All the output file names will be generated from the &amp;lt;output_prefix&amp;gt; prefix.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Repeat Screening ====&lt;br /&gt;
&lt;br /&gt;
Misassembled repeats can confuse Bambus, therefore it makes sense to screen the known repeats that may be misassembled. Bambus can use two types of repeat screening information:&lt;br /&gt;
&lt;br /&gt;
* -r . Screen against the repeats listed in the database (option -D must be provided)&lt;br /&gt;
* -r &amp;lt;repfile&amp;gt; . Screen against repeats described in [[#Repeat files|repeat files]]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Flow-control ====&lt;br /&gt;
&lt;br /&gt;
* -start &amp;lt;num&amp;gt;&lt;br /&gt;
* -end &amp;lt;num&amp;gt;. The execution of Bambus consists in a set of steps. The user can choose to start or end at a specific step for example in the case when she modifies the configuration file and wants to re-run just the final steps of the scaffolders. This feature should be used with caution.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Typical use cases ===&lt;br /&gt;
==== Using assembler output ====&lt;br /&gt;
&lt;br /&gt;
For convenience, Bambus can use the output of an assembly program and automatically generate the required linking information. Two types of information are required:&lt;br /&gt;
&lt;br /&gt;
* the tiling of reads in the assembly&lt;br /&gt;
* information about the pairing of reads&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The first type of information can be obtained from the .asm or .contig output formats of TIGR Assembler. For more information about these file formats please refer to the [http://www.jcvi.org/cms/publications/listing/abstract/article/tigr-assembler-a-new-tool-for-assembling-large-shotgun-sequencing-projects/ TIGR Assembler documentation]. Note that the .contig file may be stripped of all sequence data as the only information used is that contained in the lines starting with #. In case you are using an assembler other than TIGR Assembler you may need to use the ta2ace package to convert the output into the .contig format.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The second type of information can be obtained from a [[#The .mates file|.mates file]], or from the database in case you are at TIGR.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A typical command line for someone outside of TIGR is:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -m test.mates -o test&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and the execution will generate the following files:&lt;br /&gt;
&lt;br /&gt;
* [[#.stats file|test.stats]] - statistics on scaffolds and libraries &lt;br /&gt;
* [[#.details file|test.details]] - detailed information about each contig pair (also called &amp;quot;gap&amp;quot;). &lt;br /&gt;
* [[#.dot file|test.dot]] - GraphViz formatted description of the contig linkage information.&lt;br /&gt;
* [[#.evidence.xml|test.evidence.xml]] - XML representation of all the linking evidence provided.&lt;br /&gt;
* [[#.out.xml|test.out.xml]] - XML representation of the scaffolds.&lt;br /&gt;
* [[#.ps file|test.lib]] - list of the codes associated with each input library. These codes are reported on the links in the output file.&lt;br /&gt;
* [[#.sum file|test.sum]] - one-line sumaries of all scaffolds.&lt;br /&gt;
* [[#.oo file|test.oo]] - order and orientation information for all the contigs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Additionally, the program generates some &amp;quot;working&amp;quot; files that are currently not removed as they provide useful debugging information.&lt;br /&gt;
&lt;br /&gt;
* test.detective.xml - linking information derived from assembler input alone. It&amp;#039;s the same as test.evidence.xml unless additional XML files are provided in the input.&lt;br /&gt;
* test.inp - input to the core scaffolding engine.&lt;br /&gt;
* test.grommit.conf - configuration information for the scaffolding engine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To view the graphical output you need to convert it to Postscript with the command:&lt;br /&gt;
&lt;br /&gt;
 dot -Tps -o test.ps test.dot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then you can view the postscript file with the command:&lt;br /&gt;
&lt;br /&gt;
 gv test.ps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
At TIGR, instead of specifying a .mates file you can use the database:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -D gbx -U access -P access -o test&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Getting more (or less) information from the output ====&lt;br /&gt;
&lt;br /&gt;
You can modify the information you get in the output by directly calling the printScaff command. PrintScaff requires as inputs the .evidence.xml file, the .out.xml file and the .lib files produce by Bambus, the minimal invocation being:&lt;br /&gt;
&lt;br /&gt;
 printScaff -e test.evidence.xml -s test.out.xml -l test.lib&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Optionally you may specify the output prefix with option -o (just like in the Bambus invocation). PrintScaff has parameters that control what gets reported, and in what format. In the first category you have:&lt;br /&gt;
&lt;br /&gt;
* -dot - produce a .dot file&lt;br /&gt;
* -detail - produce a .details file&lt;br /&gt;
* -oo - produce a [[#.oo file|.oo]] file listing all the contigs in each scaffold&lt;br /&gt;
* -sum - produce a [[#.sum file|.sum]] tab delimited list of scaffold stats (#contigs, size, and span)&lt;br /&gt;
* -f &amp;lt;fasta_file&amp;gt; - generate a pseudo-molecule for each scaffold using the contig sequences listed in &amp;lt;fasta_file&amp;gt;.&lt;br /&gt;
  note that the contigs in the scaffold files are names &amp;quot;contig_&amp;lt;id&amp;gt;&amp;quot; while the contigs in the &amp;lt;fasta_file&amp;gt; must simply be called &amp;quot;&amp;lt;id&amp;gt;&amp;quot;. Note that this option together with the default -merge option (see below) is meaningless unless you&amp;#039;ve [[#Untangling scaffolds|untangled]] the scaffold.&lt;br /&gt;
* -phys - create a .phys file listing all &amp;quot;gaps&amp;quot; spanned only by the specified libraries:&lt;br /&gt;
&lt;br /&gt;
 printScaff -e test.evidence.xml -s test.out.xml -l test.lib -phys MUMmer&lt;br /&gt;
&lt;br /&gt;
will generate a file called test.phys that contains all contig pairs linked by nothing but MUMmer links.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the second category you have:&lt;br /&gt;
&lt;br /&gt;
* -page - produce .dot file formatted for printing on 8.5x11&amp;quot; paper&lt;br /&gt;
* -plot - produce .dot file formatted for printing on a plotter (36x48&amp;quot; paper)&lt;br /&gt;
* -unused - draw edges corresponding to unused links&lt;br /&gt;
* -merge - (default) when the -f option is given, produce a pseudo-molecule for each scaffold by adding 60 N characters between the contigs in the scaffold&lt;br /&gt;
* -nomerge - when the -f option is given, create a fasta file containing all contigs in each scaffold in the correct orientation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Adding additional XML linking information ====&lt;br /&gt;
&lt;br /&gt;
You can easily add additional linking information as long as it&amp;#039;s in a format similar to the [[#.evidence.xml file|.evidence.xml file]]. Assuming we have two such files &amp;quot;link1.xml&amp;quot; and &amp;quot;link2.xml&amp;quot; you can call Bambus as follows:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -m test.mates -x link1.xml -x link2.xml -o test&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The result being the same as if you concatenated the XML file inferred from the .contig file together with the two additional XML files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Using MUMmer links ====&lt;br /&gt;
&lt;br /&gt;
In case you are sequencing a genome for which a close relative has been completed, you can use [[MUMmer]] to infer links between contigs. Assume you have the reference genome in a file &amp;quot;ref.fasta&amp;quot; and all the contigs from the genome you are assembling in a file called &amp;quot;test.fasta&amp;quot;, you can run MUMmer to align the test genome to the reference:&lt;br /&gt;
&lt;br /&gt;
 nucmer -maxmatch ref.fasta test.fasta&lt;br /&gt;
&lt;br /&gt;
The output will be placed in a file called out.delta. You can then convert the alignment information into an XML file suitable for Bambus as follows:&lt;br /&gt;
&lt;br /&gt;
 show-tiling -x out.delta &amp;gt; test.mum.xml&lt;br /&gt;
&lt;br /&gt;
And finally you can provide this information to Bambus:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -m test.mates -x test.mum.xml -o test&lt;br /&gt;
&lt;br /&gt;
==== Using Makefiles ====&lt;br /&gt;
&lt;br /&gt;
If you have multiple XML files, it becomes tedious to generate each file separately and then provide them to Bambus with multiple -x options. You can create a Makefile compatible with GNU make that generates each of the XML files. You must be careful that the targets for all the XML files end in &amp;quot;.xml&amp;quot;, and no other targets (such as intermediate targets) have the same suffix. Bambus will assume that all .xml files produced by the Makefile must be added to the input.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An example of a simple Makefile that can generate the mummer information described above is:&lt;br /&gt;
&lt;br /&gt;
 test.mum.xml: ref.fasta test.fasta&lt;br /&gt;
 nucmer -a max-match ref.fasta test.fasta&lt;br /&gt;
 show-tiling -x out.delta &amp;gt; test.mum.xml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Untangling scaffolds ====&lt;br /&gt;
&lt;br /&gt;
By default, the scaffolds resulting from Bambus are potentially ambiguous as two or more contigs may occupy the same place in the genome. Such situations occur either due to misassembled repeats, or when assembling different haplotypes. Bambus contains a utility that does a best effort attempt to disambiguate the scaffolds, by breaking them into a set of non-ambiguous scaffolds. The algorithm is greedy and does not guarantee that an optimal solution (e.g. a minimum number of longest scaffolds) is produced.&lt;br /&gt;
&lt;br /&gt;
To run the untangler type:&lt;br /&gt;
&lt;br /&gt;
 untangle -e test.evidence.xml -s test.out.xml -o test.untangle.xml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The test.untangle.xml file has the same format as the output file ([[#.out.xml|.out.xml]]) and for each scaffold (e.g. scaff_1) contains one or more unambiguous scaffolds called &amp;quot;scaff_1_1, scaff_1_2, etc&amp;quot;. You can use the [[#Getting more (or less) information from the output|printScaff]] command to process the untangled file the same way you would process a normal Bambus output.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== File formats ==&lt;br /&gt;
&lt;br /&gt;
=== The configuration file ===&lt;br /&gt;
&lt;br /&gt;
Scaffolding parameters can be specified in a configuration file. Whenever you run Bambus a default configuration file is generated as default.conf. To create your own file you should rename this file then edit it. The following types of information can be specified:&lt;br /&gt;
&lt;br /&gt;
* Comments. Lines starting with # are considered comments and are ignored by the software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Priority information. Specifies an order in which the libraries are considered. For example, the following line specifies priority 2 for all MUMmer links. The libraries are considered in the increasing order of priorities.&lt;br /&gt;
&lt;br /&gt;
      priority MUMmer 2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If no configuration file is provided, all libraries are assumed to have the same priority. If a configuration file is provided, only those libraries that have a priority record are used in scaffolding. In other words, if a library has no priority record associated with it, it will not be used in scaffolding.&lt;br /&gt;
&lt;br /&gt;
A priority can also be specified for a specific redundancy parameter. For example, the following line specifies that those links between contigs supported by 4 or more sources of linking data should be processed at priority level 1. &lt;br /&gt;
&lt;br /&gt;
      priority redundancy 4 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note, however, that you need to also specify a set of libraries to be used at this priority level. A simple shortcut is specifying that all link classes should be processed at this redundancy.&lt;br /&gt;
&lt;br /&gt;
      priority ALL 1&lt;br /&gt;
      &lt;br /&gt;
&lt;br /&gt;
If you are uncertain of which libraries your project uses, run Bambus without a configuration file. The libraries will be listed in a file ending in &amp;quot;.libs&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Redundancy information. Specifies the minimum number of links required for a valid inter-contig link. You can specify this parameter as a global value:&lt;br /&gt;
&lt;br /&gt;
   redundancy 2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
that is, all contigs must be linked by at least two links. You can also specify a per-library value like below which says a single MUMmer link is required to link two contigs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   redundancy MUMmer 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Minimum scaffold size. Specifies a scaffold size cutoff. For example thisimplies that only scaffolds that contain more than 10kbp are present in the output.:&lt;br /&gt;
&lt;br /&gt;
      mingroupsize 10000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Link size error. For some link types, determining the exact link length can only be done within a certain error. This parameter specifies, as a percentage, the estimated error in size determination. For example, since MUMmer links make an assumption of evolutionary closeness between two genomes, the error associated with them should be proportional to the estimated evolutionary distance (as nucleotide % similarity) between the two genomes. For an error of 5% use this parameter: &lt;br /&gt;
&lt;br /&gt;
      error MUMmer 0.05&lt;br /&gt;
  &lt;br /&gt;
* Overlapping contigs allowed. For each library you can control the link validation process by specifying whether adjacent contigs are allowed to overlap or not. By default mate-pair links assume adjacent contigs do not overlap, while MUMmer links allow contigs to overlap. This is equivalent to the configuration parameters:&lt;br /&gt;
  &lt;br /&gt;
      overlaps lib_1 N&lt;br /&gt;
      overlaps MUMmer Y&lt;br /&gt;
&lt;br /&gt;
An example is provided in [[bambus.conf|data/sample_files/bambus.conf]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== The .mates file ===&lt;br /&gt;
&lt;br /&gt;
The .mates file provides two types of information: library data, and mate-pair relationships between reads.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Library data can be described in two formats:&lt;br /&gt;
 library	&amp;lt;name&amp;gt;	&amp;lt;min_size&amp;gt;	&amp;lt;max_size&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and&lt;br /&gt;
 library	&amp;lt;name&amp;gt;	&amp;lt;min_size&amp;gt;	&amp;lt;max_size&amp;gt;	&amp;lt;regexp&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Both formats require you to name each library and to provide a size range for the inserts belonging to it. The second format allows you to also provide a Perl regular expression that describes the naming convention for reads belonging to the library. The part of the sequence name that represents the library name must be placed within parentheses. As an example, the regular expression for TIGR sequences (where the library is specified by the first 4 characters) is:&lt;br /&gt;
 (....).*&lt;br /&gt;
&lt;br /&gt;
Mate-pair relationships can also be described in two ways:&lt;br /&gt;
 pair	&amp;lt;regexp_forw&amp;gt;	&amp;lt;regexp_rev&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
 &amp;lt;seq_forw_1&amp;gt;	&amp;lt;seq_rev_1&amp;gt;	&amp;lt;library_name&amp;gt;&lt;br /&gt;
 &amp;lt;seq_forw_2&amp;gt;	&amp;lt;seq_rev_2&amp;gt;	&amp;lt;library_name&amp;gt;&lt;br /&gt;
 &amp;lt;seq_forw_3&amp;gt;	&amp;lt;seq_rev_3&amp;gt;	&amp;lt;library_name&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
The first format requires two regular expressions corresponding to the forward and reverse mates of an insert. Just like the library record, the portion of the name corresponding to the insert name must be placed within parentheses. Two reads that match the two regular expressions, and have the exact same section matched within the parentheses will be considered mates. The library will be determined from the regular expression associated with a &amp;quot;library&amp;quot; record. As an example, at TIGR the first 7 characters represent the insert, then are followed by an optional T or P and the primer name (F or R for Forward or Reverse). The corresponding regular expression is:&lt;br /&gt;
 pair	(.......)[TP]?F	(.......)[TP]?R&lt;br /&gt;
&lt;br /&gt;
The second format is simply a list of sequence name pairs each followed by the name of the library they belong to. The corresponding library records must be listed in the file before the pairing data.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note that fields in the .mates file must be separated by TAB characters otherwise the program will report an error.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
An example of a .mates file using the phred/phrap naming convention is provided in [[bambus.mates|data/sample_files/bambus.mates]].&lt;br /&gt;
&lt;br /&gt;
=== Repeat files ===&lt;br /&gt;
&lt;br /&gt;
The repeat files used in screening linking data conform to the output standards of the repeatFinder program. The file contains 5 TAB-delimited values: contig ID, repeat name, left and right coordinates within the contig, and contig class. Only the first 4 values are essential as far as Bambus is concerned. Here is an example of repeat records:&lt;br /&gt;
&lt;br /&gt;
 AC009139.7.3 RPT1A 14554 96820 1&lt;br /&gt;
 AC026498.3.2 RPT1B 124208 206475 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .evidence.xml ===&lt;br /&gt;
&lt;br /&gt;
This provides an XML representation of the input file. Below is a description of the data presented in this file (see also an [[bambus.evidence.xml|example]]):&lt;br /&gt;
&lt;br /&gt;
The overall flow of the XML file is:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;EVIDENCE&amp;gt;&lt;br /&gt;
   &amp;lt;LIBRARY&amp;gt;&lt;br /&gt;
    &amp;lt;INSERT&amp;gt;&lt;br /&gt;
      &amp;lt;SEQUENCE/&amp;gt;&lt;br /&gt;
      &amp;lt;SEQUENCE/&amp;gt;&lt;br /&gt;
    &amp;lt;/INSERT&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
  &amp;lt;/LIBRARY&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;CONTIG&amp;gt;&lt;br /&gt;
    &amp;lt;SEQUENCE/&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
  &amp;lt;/CONTIG&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;LINK&amp;gt;&lt;br /&gt;
    &amp;lt;CONTIG/&amp;gt;&lt;br /&gt;
    &amp;lt;CONTIG/&amp;gt;&lt;br /&gt;
  &amp;lt;/LINK&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &amp;lt;/EVIDENCE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;EVIDENCE                        this is the parent tag - the whole document occurs within &amp;lt;EVIDENCE&amp;gt; and &amp;lt;/EVIDENCE&amp;gt;&lt;br /&gt;
  ID = &amp;quot;1&amp;quot;                        some identifier for the file&lt;br /&gt;
  DATE = &amp;quot;12/15/03&amp;quot;               date when file was created&lt;br /&gt;
  PROJECT = &amp;quot;MyProject&amp;quot;           verbose description of the project&lt;br /&gt;
  PARAMETERS = &amp;quot;&amp;quot;                 parameters used in creating this file&lt;br /&gt;
 &amp;gt;&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;LIBRARY                         for each shotgun library you need a separate library tag.&lt;br /&gt;
  ID = &amp;quot;lib_1&amp;quot;                    some identifier for the library&lt;br /&gt;
  NAME = &amp;quot;short&amp;quot;                  verbose name for the library&lt;br /&gt;
  MIN = &amp;quot;1200&amp;quot;                    minimum size of inserts in this library&lt;br /&gt;
  MAX = &amp;quot;3500&amp;quot;                    maximum size of inserts in this library&lt;br /&gt;
 &amp;gt;&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;INSERT                          the insert concept links together the two reads obtained from opposite ends of a clone insert&lt;br /&gt;
  ID=&amp;quot;ins_1&amp;quot;                      generic identifier for the insert&lt;br /&gt;
  NAME=&amp;quot;GALBZ92&amp;quot;                  verbose name for the insert&lt;br /&gt;
 &amp;gt; 	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SEQUENCE                        each insert contains two sequence reads obtained from to the opposite ends&lt;br /&gt;
  ID=&amp;quot;seq_1&amp;quot;                      generic identifier for the sequence&lt;br /&gt;
  NAME=&amp;quot;GALBZ92TF&amp;quot;                verbose name for the sequence&lt;br /&gt;
 &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;CONTIG                          Each contig in the assembly needs to be represented in the file&lt;br /&gt;
  ID=&amp;quot;contig_1&amp;quot;                   contig identifier&lt;br /&gt;
  NAME= &amp;quot;1&amp;quot;                       contig name (usually the same as the identifier)&lt;br /&gt;
  LEN=&amp;quot;12352&amp;quot;                     contig length in basepairs&lt;br /&gt;
 &amp;gt; 	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SEQUENCE                        each sequence in the contig is listed together with information about the position within the contig.&lt;br /&gt;
  ID=&amp;quot;seq_1&amp;quot;                      sequence identifier (must match one described in the library section)&lt;br /&gt;
  ORI=&amp;quot;BE&amp;quot;                        orientation of sequence: BE - forward, EB - reverse&lt;br /&gt;
  ASM_LEND=&amp;quot;0&amp;quot;                    coordinate of sequence&amp;#039;s left end within the contig&lt;br /&gt;
  ASM_REND=&amp;quot;525&amp;quot;                  coordinate of sequence&amp;#039;s right end within the contig&lt;br /&gt;
 &amp;gt; 	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;LINK                            this is a generic link between two contigs (i.e. not inferred from mate-pair data)&lt;br /&gt;
  ID = &amp;quot;link_1&amp;quot;                   link identifier&lt;br /&gt;
  SIZE = &amp;quot;-800&amp;quot;                   size of gap between the two contigs&lt;br /&gt;
  TYPE = &amp;quot;MUMmer&amp;quot;                 link type: links with the same type get grouped into a virtual &amp;quot;library&amp;quot; used in specifying priorities&lt;br /&gt;
 &amp;gt; 	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;CONTIG                          each link contains two contigs&lt;br /&gt;
  ID = &amp;quot;contig_1&amp;quot;                 contig identifier: must match one described in the contig section above&lt;br /&gt;
  ORI = &amp;quot;EB&amp;quot;                      contig orientation: BE - forward, EB - reverse&lt;br /&gt;
 &amp;gt; 	                          each contig record may contain free-form data specifying the evidence for linking: e.g. alignment data&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
=== .out.xml ===&lt;br /&gt;
&lt;br /&gt;
Represents, together with the evidence file, a description of the layout of the contigs. For each scaffold, the order (given as a coordinate along a chromosome) and the orientation of each contig is presented, together with a list of all the links used to generate this layout. Some links are deemed invalid, being given a code of &amp;quot;LEN&amp;quot; in case the length was deemed incorrect, or &amp;quot;ORI&amp;quot; in case the link orientation was considered incorrect. This file is also specified by the [[bambus.dtd|DTD]] and an example ([[bambus.out.xml|data/sample_files/bambus.out.xml]]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .stats file ===&lt;br /&gt;
&lt;br /&gt;
Finally, BAMBUS outputs a summary of the scaffolds generated. This file is pretty much self-explanatory, as evidenced by this example ([[bambus.stats|data/sample_files/bambus.stats]]). Note that in the .stats file, the N50 sizes are computed with respect to the total span of the scaffolds unless a different genome size is specified in a file called genome.size.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .details file ===&lt;br /&gt;
&lt;br /&gt;
The .details file contains detailed information about the linking information between adjacent contigs. The contigs&amp;#039; orientation, size, and coordinates are listed and then all the linking data grouped by validity and library. An example is provided in [[bambus.details|data/sample_files/bambus.details]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .dot file ===&lt;br /&gt;
&lt;br /&gt;
Represents a graphical representation of the scaffolds in GraphViz format. Please see the [http://www.research.att.com/sw/tools/graphviz/ AT&amp;amp;T GraphViz] website for more information on this file format.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .ps file ===&lt;br /&gt;
&lt;br /&gt;
A postscript image generated from the GraphViz-formatted file. It can be obtained from the .dot file with the command:&lt;br /&gt;
 dot -Tps -o prefix.ps prefix.dot&lt;br /&gt;
&lt;br /&gt;
An example is given in the picture below.&lt;br /&gt;
[[Image:bambus-display.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Each scaffold is placed in a box, labeled with some statistics on the scaffold size (number of contigs, number of bases and span). All the &amp;quot;gaps&amp;quot; - linking relationships between the contigs are represented as edges. Each edge is decorated with the number of links contributing to it, the number of links from each library type, and the number of links invalidated due to incorrect length (L) or orientation (O). Each contig&amp;#039;s ID, size, and coordinates within the scaffold are also listed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .oo file ===&lt;br /&gt;
&lt;br /&gt;
This file contains a summary of the order and orientation of all contigs present in the data. Each scaffold starts with a FASTA-like header containing the identifier for the scaffold followed by the number of contigs, size and span. Within each scaffold, all contigs are listed in the scaffold order, followed by the string BE for those in the forward orientation and EB for those in the reverse orientation. An example file is shown in: [[bambus.oo|data/sample_files/bambus.oo]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .sum file ===&lt;br /&gt;
&lt;br /&gt;
This file contains one line for each scaffold. Each line contains the scaffold ID, number of contigs, scaffold size, and span. The four values are separated by TAB characters. See an example in [[bambus.sum|data/sample_files/bambus.sum]].&lt;br /&gt;
&lt;br /&gt;
== Known problems ==&lt;br /&gt;
There is a small &amp;quot;off-by-one&amp;quot; error in computing contig coordinates. It should not really affect the usefulness of the output.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Contact information ==&lt;br /&gt;
&lt;br /&gt;
BAMBUS is currently provided AS-IS, in other words we do not provide any support for the software. We would, however, like to hear your comments and suggestions.  For Bambus bug reports, support requests, or any other inquiries please browse our SourceForge project page or Email us at:&lt;br /&gt;
&lt;br /&gt;
  amos-help (at) lists (dot) sourceforge (dot) net&lt;br /&gt;
&lt;br /&gt;
BAMBUS was written by Mihai Pop and Dan Kosack.&lt;/div&gt;</summary>
		<author><name>Dmb000006</name></author>	</entry>

	<entry>
		<id>http://amos.sourceforge.net/wiki/index.php/Bambus_Manual</id>
		<title>Bambus Manual</title>
		<link rel="alternate" type="text/html" href="http://amos.sourceforge.net/wiki/index.php/Bambus_Manual"/>
				<updated>2010-12-16T15:03:40Z</updated>
		
		<summary type="html">&lt;p&gt;Dmb000006: /* The .mates file */ Putting tabs in the examples instead of spaces. Changing formatting slightly and emphasising the phrase about tabs. fixed a few typos.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
 | __TOC__&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The output of most shotgun sequence assembly programs (such as TIGR Assembler, phrap, or CAP3) consists in a set of un-related contigs, whose order and orientation along the chromosome is unknown. Scaffolding represents the task of ordering and orienting these contigs by using additional information about their relative placement. Traditionally such information was identified from the pairing of reads from the opposite ends of an insert in double-barelled shotgun experiments (see figure).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:scaffold image.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Besides clone mate information, homology data, physical maps, or gene synteny information can be used to derive relationships between contigs. BAMBUS is a program written to handle all such types of data in a generic fashion in order to build contig scaffolds. In order to account for the varied quality of linking information BAMBUS allows the user to specify a hierarchy that will consider the most reliable linking data first, then expand the scaffolds using less reliable data. This approach minimizes the effect of errors inherent to experimentally-derived linking information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Algorithm overview ===&lt;br /&gt;
&lt;br /&gt;
BAMBUS has two main modes of operation: hierarchical - when the links are considered in the order of their priorities, and standard - when all the links are considered at the same priority level. In the latter case, all links connecting two contigs are bundled together to form a &amp;quot;gap&amp;quot;, or &amp;quot;edge&amp;quot; if you look at the problem from a graph theoretical point of view. Each link is checked for validity before being added to a bundle. Thus, a link is considered invalid due to a length constraint if it forces the two contigs to overlap. In other words, if we assume the largest possible size for the insert corresponding to the link, if the coordinates of the mate-pair within the contigs force the contigs to overlap, we discard the link assuming it is due to a misassembly (Note: this behaviour can be specified on a link-by-link basis). Links that pass this test are further checked for consistency. If they do not all agree in the relative orientations of the contigs they imply, a majority rule is used to retain only those links that agree both in orientation and length. Furthermore, the bundle, or edge, is retained if it contains at least two links (this parameter, redundancy, can actually be tuned by the user). After this step is complete, the resulting graph gets traversed twice, once to assign consistent orientations to all the contigs, and the second time to determine the order of the contigs along the chromosome. Note that inconsistencies in order are currently allowed since they can provide finishing teams with useful information. In a future version of BAMBUS we will add an option to allow the generation of unambiguous scaffolds as well. Currently you can generate such unambiguous scaffolds using the [[#Untangling scaffolds|untangle]] program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
* Install AMOS&lt;br /&gt;
* Perl 5.6 or later&lt;br /&gt;
* [http://www.cpan.org/ XML::Parser] perl module&lt;br /&gt;
* [http://www.cpan.org/ Config::IniFiles] perl module&lt;br /&gt;
* [http://www.research.att.com/sw/tools/graphviz/ GraphViz] package&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Obtaining BAMBUS ===&lt;br /&gt;
&lt;br /&gt;
BAMBUS 2.3 is available free of charge under the open-source Artistic License.&lt;br /&gt;
&lt;br /&gt;
The Bambus source if freely available for download from the File Release Section of our SourceForge project page.&lt;br /&gt;
&lt;br /&gt;
To receive information regarding new releases and developments, please subscribe to our moderated, low-traffic users&amp;#039; mailing list:&lt;br /&gt;
&lt;br /&gt;
 amos-users(at)lists(dot)sourceforge(dot)net&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Actual installation ===&lt;br /&gt;
&lt;br /&gt;
1. Find a directory where you want the software installed. For example /users/home/CoolUser&lt;br /&gt;
&lt;br /&gt;
2. Place the tar file bambus-2.33.tar.gz in this directory&lt;br /&gt;
&lt;br /&gt;
3. Unpack the distribution&lt;br /&gt;
 % tar xvzf bambus-2.33.tar.gz&lt;br /&gt;
&lt;br /&gt;
4. Go into the newly created directory&lt;br /&gt;
 % cd bambus-2.33&lt;br /&gt;
&lt;br /&gt;
5. Carefully read the documentation&lt;br /&gt;
&lt;br /&gt;
6. Edit the file Makefile and change the value of BASEDIR to the correct installation path, for example:&lt;br /&gt;
 BASEDIR = /users/home/CoolUser&lt;br /&gt;
&lt;br /&gt;
7. Also check if the path for perl (in variable PERL) matches the one on your system. Several common options are:&lt;br /&gt;
 PERL = /usr/local/bin/perl&lt;br /&gt;
 PERL = /usr/bin/perl&lt;br /&gt;
&lt;br /&gt;
8. Type &amp;#039;gmake install&amp;#039; to have all the software installed. The executables will be in /users/home/CoolUser/bin/ and the documentation in /users/home/CoolUser/doc.&lt;br /&gt;
&lt;br /&gt;
9. To get started you can try out the small test dataset provided in data/test_run by typing:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -m test.mates -o test-bambus&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Running BAMBUS ==&lt;br /&gt;
&lt;br /&gt;
The input to Bambus consists in a set of links between contigs. These links can be inferred from the pairing of reads belonging to the same insert, from physical map data, or from alignment to another genome. To accomodate these types of sources of linking information, and to allow for further extensions, the input to Bambus is presented in a general purpose XML format. &lt;br /&gt;
&lt;br /&gt;
The following sections describe how the XML file can be generated for each type of linking data. For more information see [[#.evidence.xml|.evidence.xml]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Linking information is grouped into &amp;quot;libraries&amp;quot;. All links within a library have similar parameters. In the case of mate-pair linking information the libraries match the standard definition. For other linking data, for example MUMmer links, the library grouping reflects specific characteristics of the linking data. For example all MUMmer links are grouped within a library called &amp;quot;MUMmer&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Command line options ===&lt;br /&gt;
&lt;br /&gt;
Bambus consists in a collection of programs controlled by a script called goBambus. The execution is controlled by the following sets of parameters. To obtain a list of all parameters and basic help information you need to type:&lt;br /&gt;
&lt;br /&gt;
 goBambus -h&lt;br /&gt;
or&lt;br /&gt;
 goBambus -help&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Configuration options ====&lt;br /&gt;
&lt;br /&gt;
* -C &amp;lt;conf_file&amp;gt; . This parameter specifies the configuration file used by Bambus. A configuration file is not required, however it is useful if you want to change the default parameters. See [[#The configuration file|the configuration file]] for a detailed description of the configuration information.&lt;br /&gt;
&lt;br /&gt;
Whenever you run Bambus it will generate a default configuration file called default.conf. If you want to modify the parameters, you will need to rename this file and then edit it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Input Options ====&lt;br /&gt;
&lt;br /&gt;
* -a &amp;lt;asm_file&amp;gt; . Use a TIGR Assembler .asm file as source of linking information.&lt;br /&gt;
* -c &amp;lt;contig_file&amp;gt; . Use a GDE formatted .contig assembly file as source of linking information. The .contig files can be obtained either from TIGR Assembler output (by concatenating the contents of the .align directory) or by converting .ace files (created by phrap or Consed) using the [[ace2contig]] package.&lt;br /&gt;
* -x &amp;lt;xml_file&amp;gt;. Use additional XML formatted linking information. You can use the -x option multiple times. See [[#.evidence.xml|.evidence.xml]] for the XML file format.&lt;br /&gt;
* -mx &amp;lt;make_file&amp;gt;. Use a gmake compatible make file to specify how the additional XML information is generated. Each of the files created must end in &amp;quot;.xml&amp;quot;. Moreover, only the final XML targets are allowed to end in &amp;quot;.xml&amp;quot; to prevent goBambus from getting confused. See [[#Using Makefiles|using Makefiles]] for a more detailed description on using makefiles.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Mate-pair Information ====&lt;br /&gt;
&lt;br /&gt;
Assembly output (such as .asm and .contig files) does not generally contain any information about the pairing of reads coming from opposite ends of the same insert, nor about the membership of inserts to libraries. The following parameters specify how to obtain this mate-pair information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* -m &amp;lt;mates_file&amp;gt; . The mates file allows you to specify both library information and mate pairing information, using a system based on Perl regular expressions. See [[#The .mates file|the .mates file]].&lt;br /&gt;
* -D &amp;lt;database&amp;gt; . At TIGR, instead of a mates file you can opt to use a database to obtain library and mate information. Note that the -m and -D options are complementary. The following three parameters specify database options:&lt;br /&gt;
* -S &amp;lt;server&amp;gt; . Select a specific database server&lt;br /&gt;
* -U &amp;lt;user&amp;gt; . Log in with the specified user name&lt;br /&gt;
* -P &amp;lt;passwd&amp;gt; . Log in with the specified password&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Output Options ====&lt;br /&gt;
&lt;br /&gt;
* -o &amp;lt;output_prefix&amp;gt; . All the output file names will be generated from the &amp;lt;output_prefix&amp;gt; prefix.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Repeat Screening ====&lt;br /&gt;
&lt;br /&gt;
Misassembled repeats can confuse Bambus, therefore it makes sense to screen the known repeats that may be misassembled. Bambus can use two types of repeat screening information:&lt;br /&gt;
&lt;br /&gt;
* -r . Screen against the repeats listed in the database (option -D must be provided)&lt;br /&gt;
* -r &amp;lt;repfile&amp;gt; . Screen against repeats described in [[#Repeat files|repeat files]]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Flow-control ====&lt;br /&gt;
&lt;br /&gt;
* -start &amp;lt;num&amp;gt;&lt;br /&gt;
* -end &amp;lt;num&amp;gt;. The execution of Bambus consists in a set of steps. The user can choose to start or end at a specific step for example in the case when she modifies the configuration file and wants to re-run just the final steps of the scaffolders. This feature should be used with caution.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Typical use cases ===&lt;br /&gt;
==== Using assembler output ====&lt;br /&gt;
&lt;br /&gt;
For convenience, Bambus can use the output of an assembly program and automatically generate the required linking information. Two types of information are required:&lt;br /&gt;
&lt;br /&gt;
* the tiling of reads in the assembly&lt;br /&gt;
* information about the pairing of reads&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The first type of information can be obtained from the .asm or .contig output formats of TIGR Assembler. For more information about these file formats please refer to the [http://www.jcvi.org/cms/publications/listing/abstract/article/tigr-assembler-a-new-tool-for-assembling-large-shotgun-sequencing-projects/ TIGR Assembler documentation]. Note that the .contig file may be stripped of all sequence data as the only information used is that contained in the lines starting with #. In case you are using an assembler other than TIGR Assembler you may need to use the ta2ace package to convert the output into the .contig format.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The second type of information can be obtained from a [[#The .mates file|.mates file]], or from the database in case you are at TIGR.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A typical command line for someone outside of TIGR is:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -m test.mates -o test&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and the execution will generate the following files:&lt;br /&gt;
&lt;br /&gt;
* [[#.stats file|test.stats]] - statistics on scaffolds and libraries &lt;br /&gt;
* [[#.details file|test.details]] - detailed information about each contig pair (also called &amp;quot;gap&amp;quot;). &lt;br /&gt;
* [[#.dot file|test.dot]] - GraphViz formatted description of the contig linkage information.&lt;br /&gt;
* [[#.evidence.xml|test.evidence.xml]] - XML representation of all the linking evidence provided.&lt;br /&gt;
* [[#.out.xml|test.out.xml]] - XML representation of the scaffolds.&lt;br /&gt;
* [[#.ps file|test.lib]] - list of the codes associated with each input library. These codes are reported on the links in the output file.&lt;br /&gt;
* [[#.sum file|test.sum]] - one-line sumaries of all scaffolds.&lt;br /&gt;
* [[#.oo file|test.oo]] - order and orientation information for all the contigs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Additionally, the program generates some &amp;quot;working&amp;quot; files that are currently not removed as they provide useful debugging information.&lt;br /&gt;
&lt;br /&gt;
* test.detective.xml - linking information derived from assembler input alone. It&amp;#039;s the same as test.evidence.xml unless additional XML files are provided in the input.&lt;br /&gt;
* test.inp - input to the core scaffolding engine.&lt;br /&gt;
* test.grommit.conf - configuration information for the scaffolding engine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To view the graphical output you need to convert it to Postscript with the command:&lt;br /&gt;
&lt;br /&gt;
 dot -Tps -o test.ps test.dot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then you can view the postscript file with the command:&lt;br /&gt;
&lt;br /&gt;
 gv test.ps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
At TIGR, instead of specifying a .mates file you can use the database:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -D gbx -U access -P access -o test&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Getting more (or less) information from the output ====&lt;br /&gt;
&lt;br /&gt;
You can modify the information you get in the output by directly calling the printScaff command. PrintScaff requires as inputs the .evidence.xml file, the .out.xml file and the .lib files produce by Bambus, the minimal invocation being:&lt;br /&gt;
&lt;br /&gt;
 printScaff -e test.evidence.xml -s test.out.xml -l test.lib&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Optionally you may specify the output prefix with option -o (just like in the Bambus invocation). PrintScaff has parameters that control what gets reported, and in what format. In the first category you have:&lt;br /&gt;
&lt;br /&gt;
* -dot - produce a .dot file&lt;br /&gt;
* -detail - produce a .details file&lt;br /&gt;
* -oo - produce a [[#.oo file|.oo]] file listing all the contigs in each scaffold&lt;br /&gt;
* -sum - produce a [[#.sum file|.sum]] tab delimited list of scaffold stats (#contigs, size, and span)&lt;br /&gt;
* -f &amp;lt;fasta_file&amp;gt; - generate a pseudo-molecule for each scaffold using the contig sequences listed in &amp;lt;fasta_file&amp;gt;.&lt;br /&gt;
  note that the contigs in the scaffold files are names &amp;quot;contig_&amp;lt;id&amp;gt;&amp;quot; while the contigs in the &amp;lt;fasta_file&amp;gt; must simply be called &amp;quot;&amp;lt;id&amp;gt;&amp;quot;. Note that this option together with the default -merge option (see below) is meaningless unless you&amp;#039;ve [[#Untangling scaffolds|untangled]] the scaffold.&lt;br /&gt;
* -phys - create a .phys file listing all &amp;quot;gaps&amp;quot; spanned only by the specified libraries:&lt;br /&gt;
&lt;br /&gt;
 printScaff -e test.evidence.xml -s test.out.xml -l test.lib -phys MUMmer&lt;br /&gt;
&lt;br /&gt;
will generate a file called test.phys that contains all contig pairs linked by nothing but MUMmer links.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the second category you have:&lt;br /&gt;
&lt;br /&gt;
* -page - produce .dot file formatted for printing on 8.5x11&amp;quot; paper&lt;br /&gt;
* -plot - produce .dot file formatted for printing on a plotter (36x48&amp;quot; paper)&lt;br /&gt;
* -unused - draw edges corresponding to unused links&lt;br /&gt;
* -merge - (default) when the -f option is given, produce a pseudo-molecule for each scaffold by adding 60 N characters between the contigs in the scaffold&lt;br /&gt;
* -nomerge - when the -f option is given, create a fasta file containing all contigs in each scaffold in the correct orientation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Adding additional XML linking information ====&lt;br /&gt;
&lt;br /&gt;
You can easily add additional linking information as long as it&amp;#039;s in a format similar to the [[#.evidence.xml file|.evidence.xml file]]. Assuming we have two such files &amp;quot;link1.xml&amp;quot; and &amp;quot;link2.xml&amp;quot; you can call Bambus as follows:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -m test.mates -x link1.xml -x link2.xml -o test&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The result being the same as if you concatenated the XML file inferred from the .contig file together with the two additional XML files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Using MUMmer links ====&lt;br /&gt;
&lt;br /&gt;
In case you are sequencing a genome for which a close relative has been completed, you can use [[MUMmer]] to infer links between contigs. Assume you have the reference genome in a file &amp;quot;ref.fasta&amp;quot; and all the contigs from the genome you are assembling in a file called &amp;quot;test.fasta&amp;quot;, you can run MUMmer to align the test genome to the reference:&lt;br /&gt;
&lt;br /&gt;
 nucmer -maxmatch ref.fasta test.fasta&lt;br /&gt;
&lt;br /&gt;
The output will be placed in a file called out.delta. You can then convert the alignment information into an XML file suitable for Bambus as follows:&lt;br /&gt;
&lt;br /&gt;
 show-tiling -x out.delta &amp;gt; test.mum.xml&lt;br /&gt;
&lt;br /&gt;
And finally you can provide this information to Bambus:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -m test.mates -x test.mum.xml -o test&lt;br /&gt;
&lt;br /&gt;
==== Using Makefiles ====&lt;br /&gt;
&lt;br /&gt;
If you have multiple XML files, it becomes tedious to generate each file separately and then provide them to Bambus with multiple -x options. You can create a Makefile compatible with GNU make that generates each of the XML files. You must be careful that the targets for all the XML files end in &amp;quot;.xml&amp;quot;, and no other targets (such as intermediate targets) have the same suffix. Bambus will assume that all .xml files produced by the Makefile must be added to the input.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An example of a simple Makefile that can generate the mummer information described above is:&lt;br /&gt;
&lt;br /&gt;
 test.mum.xml: ref.fasta test.fasta&lt;br /&gt;
 nucmer -a max-match ref.fasta test.fasta&lt;br /&gt;
 show-tiling -x out.delta &amp;gt; test.mum.xml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Untangling scaffolds ====&lt;br /&gt;
&lt;br /&gt;
By default, the scaffolds resulting from Bambus are potentially ambiguous as two or more contigs may occupy the same place in the genome. Such situations occur either due to misassembled repeats, or when assembling different haplotypes. Bambus contains a utility that does a best effort attempt to disambiguate the scaffolds, by breaking them into a set of non-ambiguous scaffolds. The algorithm is greedy and does not guarantee that an optimal solution (e.g. a minimum number of longest scaffolds) is produced.&lt;br /&gt;
&lt;br /&gt;
To run the untangler type:&lt;br /&gt;
&lt;br /&gt;
 untangle -e test.evidence.xml -s test.out.xml -o test.untangle.xml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The test.untangle.xml file has the same format as the output file ([[#.out.xml|.out.xml]]) and for each scaffold (e.g. scaff_1) contains one or more unambiguous scaffolds called &amp;quot;scaff_1_1, scaff_1_2, etc&amp;quot;. You can use the [[#Getting more (or less) information from the output|printScaff]] command to process the untangled file the same way you would process a normal Bambus output.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== File formats ==&lt;br /&gt;
&lt;br /&gt;
=== The configuration file ===&lt;br /&gt;
&lt;br /&gt;
Scaffolding parameters can be specified in a configuration file. Whenever you run Bambus a default configuration file is generated as default.conf. To create your own file you should rename this file then edit it. The following types of information can be specified:&lt;br /&gt;
&lt;br /&gt;
* Comments. Lines starting with # are considered comments and are ignored by the software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Priority information. Specifies an order in which the libraries are considered. For example, the following line specifies priority 2 for all MUMmer links. The libraries are considered in the increasing order of priorities.&lt;br /&gt;
&lt;br /&gt;
      priority MUMmer 2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If no configuration file is provided, all libraries are assumed to have the same priority. If a configuration file is provided, only those libraries that have a priority record are used in scaffolding. In other words, if a library has no priority record associated with it, it will not be used in scaffolding.&lt;br /&gt;
&lt;br /&gt;
A priority can also be specified for a specific redundancy parameter. For example, the following line specifies that those links between contigs supported by 4 or more sources of linking data should be processed at priority level 1. &lt;br /&gt;
&lt;br /&gt;
      priority redundancy 4 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note, however, that you need to also specify a set of libraries to be used at this priority level. A simple shortcut is specifying that all link classes should be processed at this redundancy.&lt;br /&gt;
&lt;br /&gt;
      priority ALL 1&lt;br /&gt;
      &lt;br /&gt;
&lt;br /&gt;
If you are uncertain of which libraries your project uses, run Bambus without a configuration file. The libraries will be listed in a file ending in &amp;quot;.libs&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Redundancy information. Specifies the minimum number of links required for a valid inter-contig link. You can specify this parameter as a global value:&lt;br /&gt;
&lt;br /&gt;
   redundancy 2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
that is, all contigs must be linked by at least two links. You can also specify a per-library value like below which says a single MUMmer link is required to link two contigs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   redundancy MUMmer 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Minimum scaffold size. Specifies a scaffold size cutoff. For example thisimplies that only scaffolds that contain more than 10kbp are present in the output.:&lt;br /&gt;
&lt;br /&gt;
      mingroupsize 10000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Link size error. For some link types, determining the exact link length can only be done within a certain error. This parameter specifies, as a percentage, the estimated error in size determination. For example, since MUMmer links make an assumption of evolutionary closeness between two genomes, the error associated with them should be proportional to the estimated evolutionary distance (as nucleotide % similarity) between the two genomes. For an error of 5% use this parameter: &lt;br /&gt;
&lt;br /&gt;
      error MUMmer 0.05&lt;br /&gt;
  &lt;br /&gt;
* Overlapping contigs allowed. For each library you can control the link validation process by specifying whether adjacent contigs are allowed to overlap or not. By default mate-pair links assume adjacent contigs do not overlap, while MUMmer links allow contigs to overlap. This is equivalent to the configuration parameters:&lt;br /&gt;
  &lt;br /&gt;
      overlaps lib_1 N&lt;br /&gt;
      overlaps MUMmer Y&lt;br /&gt;
&lt;br /&gt;
An example is provided in [[bambus.conf|data/sample_files/bambus.conf]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== The .mates file ===&lt;br /&gt;
&lt;br /&gt;
The .mates file provides two types of information: library data, and mate-pair relationships between reads.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Library data can be described in two formats:&lt;br /&gt;
 library	&amp;lt;name&amp;gt;	&amp;lt;min_size&amp;gt;	&amp;lt;max_size&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and&lt;br /&gt;
 library	&amp;lt;name&amp;gt;	&amp;lt;min_size&amp;gt;	&amp;lt;max_size&amp;gt;	&amp;lt;regexp&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Both formats require you to name each library and to provide a size range for the inserts belonging to it. The second format allows you to also provide a Perl regular expression that describes the naming convention for reads belonging to the library. The part of the sequence name that represents the library name must be placed within parentheses. As an example, the regular expression for TIGR sequences (where the library is specified by the first 4 characters) is:&lt;br /&gt;
 (....).*&lt;br /&gt;
&lt;br /&gt;
Mate-pair relationships can also be described in two ways:&lt;br /&gt;
 pair	&amp;lt;regexp_forw&amp;gt;	&amp;lt;regexp_rev&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
 &amp;lt;seq_forw_1&amp;gt;	&amp;lt;seq_rev_1&amp;gt;	&amp;lt;library_name&amp;gt;&lt;br /&gt;
 &amp;lt;seq_forw_2&amp;gt;	&amp;lt;seq_rev_2&amp;gt;	&amp;lt;library_name&amp;gt;&lt;br /&gt;
 &amp;lt;seq_forw_3&amp;gt;	&amp;lt;seq_rev_3&amp;gt;	&amp;lt;library_name&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
The first format requires two regular expressions corresponding to the forward and reverse mates of an insert. Just like the library record, the portion of the name corresponding to the insert name must be placed within parentheses. Two reads that match the two regular expressions, and have the exact same section matched within the parentheses will be considered mates. The library will be determined from the regular expression associated with a &amp;quot;library&amp;quot; record. As an example, at TIGR the first 7 characters represent the insert, then are followed by an optional T or P and the primer name (F or R for Forward or Reverse). The corresponding regular expression is:&lt;br /&gt;
 pair (.......)[TP]?F (.......)[TP]?R&lt;br /&gt;
&lt;br /&gt;
The second format is simply a list of sequence name pairs each followed by the name of the library they belong to. The corresponding library records must be listed in the file before the pairing data.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note that fields in the .mates file must be separated by TAB characters otherwise the program will report an error.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An example of a .mates file using the phred/phrap naming convention is provided in [[bambus.mates|data/sample_files/bambus.mates]].&lt;br /&gt;
&lt;br /&gt;
=== Repeat files ===&lt;br /&gt;
&lt;br /&gt;
The repeat files used in screening linking data conform to the output standards of the repeatFinder program. The file contains 5 TAB-delimited values: contig ID, repeat name, left and right coordinates within the contig, and contig class. Only the first 4 values are essential as far as Bambus is concerned. Here is an example of repeat records:&lt;br /&gt;
&lt;br /&gt;
 AC009139.7.3 RPT1A 14554 96820 1&lt;br /&gt;
 AC026498.3.2 RPT1B 124208 206475 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .evidence.xml ===&lt;br /&gt;
&lt;br /&gt;
This provides an XML representation of the input file. Below is a description of the data presented in this file (see also an [[bambus.evidence.xml|example]]):&lt;br /&gt;
&lt;br /&gt;
The overall flow of the XML file is:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;EVIDENCE&amp;gt;&lt;br /&gt;
   &amp;lt;LIBRARY&amp;gt;&lt;br /&gt;
    &amp;lt;INSERT&amp;gt;&lt;br /&gt;
      &amp;lt;SEQUENCE/&amp;gt;&lt;br /&gt;
      &amp;lt;SEQUENCE/&amp;gt;&lt;br /&gt;
    &amp;lt;/INSERT&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
  &amp;lt;/LIBRARY&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;CONTIG&amp;gt;&lt;br /&gt;
    &amp;lt;SEQUENCE/&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
  &amp;lt;/CONTIG&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;LINK&amp;gt;&lt;br /&gt;
    &amp;lt;CONTIG/&amp;gt;&lt;br /&gt;
    &amp;lt;CONTIG/&amp;gt;&lt;br /&gt;
  &amp;lt;/LINK&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &amp;lt;/EVIDENCE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;EVIDENCE                        this is the parent tag - the whole document occurs within &amp;lt;EVIDENCE&amp;gt; and &amp;lt;/EVIDENCE&amp;gt;&lt;br /&gt;
  ID = &amp;quot;1&amp;quot;                        some identifier for the file&lt;br /&gt;
  DATE = &amp;quot;12/15/03&amp;quot;               date when file was created&lt;br /&gt;
  PROJECT = &amp;quot;MyProject&amp;quot;           verbose description of the project&lt;br /&gt;
  PARAMETERS = &amp;quot;&amp;quot;                 parameters used in creating this file&lt;br /&gt;
 &amp;gt;&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;LIBRARY                         for each shotgun library you need a separate library tag.&lt;br /&gt;
  ID = &amp;quot;lib_1&amp;quot;                    some identifier for the library&lt;br /&gt;
  NAME = &amp;quot;short&amp;quot;                  verbose name for the library&lt;br /&gt;
  MIN = &amp;quot;1200&amp;quot;                    minimum size of inserts in this library&lt;br /&gt;
  MAX = &amp;quot;3500&amp;quot;                    maximum size of inserts in this library&lt;br /&gt;
 &amp;gt;&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;INSERT                          the insert concept links together the two reads obtained from opposite ends of a clone insert&lt;br /&gt;
  ID=&amp;quot;ins_1&amp;quot;                      generic identifier for the insert&lt;br /&gt;
  NAME=&amp;quot;GALBZ92&amp;quot;                  verbose name for the insert&lt;br /&gt;
 &amp;gt; 	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SEQUENCE                        each insert contains two sequence reads obtained from to the opposite ends&lt;br /&gt;
  ID=&amp;quot;seq_1&amp;quot;                      generic identifier for the sequence&lt;br /&gt;
  NAME=&amp;quot;GALBZ92TF&amp;quot;                verbose name for the sequence&lt;br /&gt;
 &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;CONTIG                          Each contig in the assembly needs to be represented in the file&lt;br /&gt;
  ID=&amp;quot;contig_1&amp;quot;                   contig identifier&lt;br /&gt;
  NAME= &amp;quot;1&amp;quot;                       contig name (usually the same as the identifier)&lt;br /&gt;
  LEN=&amp;quot;12352&amp;quot;                     contig length in basepairs&lt;br /&gt;
 &amp;gt; 	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SEQUENCE                        each sequence in the contig is listed together with information about the position within the contig.&lt;br /&gt;
  ID=&amp;quot;seq_1&amp;quot;                      sequence identifier (must match one described in the library section)&lt;br /&gt;
  ORI=&amp;quot;BE&amp;quot;                        orientation of sequence: BE - forward, EB - reverse&lt;br /&gt;
  ASM_LEND=&amp;quot;0&amp;quot;                    coordinate of sequence&amp;#039;s left end within the contig&lt;br /&gt;
  ASM_REND=&amp;quot;525&amp;quot;                  coordinate of sequence&amp;#039;s right end within the contig&lt;br /&gt;
 &amp;gt; 	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;LINK                            this is a generic link between two contigs (i.e. not inferred from mate-pair data)&lt;br /&gt;
  ID = &amp;quot;link_1&amp;quot;                   link identifier&lt;br /&gt;
  SIZE = &amp;quot;-800&amp;quot;                   size of gap between the two contigs&lt;br /&gt;
  TYPE = &amp;quot;MUMmer&amp;quot;                 link type: links with the same type get grouped into a virtual &amp;quot;library&amp;quot; used in specifying priorities&lt;br /&gt;
 &amp;gt; 	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;CONTIG                          each link contains two contigs&lt;br /&gt;
  ID = &amp;quot;contig_1&amp;quot;                 contig identifier: must match one described in the contig section above&lt;br /&gt;
  ORI = &amp;quot;EB&amp;quot;                      contig orientation: BE - forward, EB - reverse&lt;br /&gt;
 &amp;gt; 	                          each contig record may contain free-form data specifying the evidence for linking: e.g. alignment data&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
=== .out.xml ===&lt;br /&gt;
&lt;br /&gt;
Represents, together with the evidence file, a description of the layout of the contigs. For each scaffold, the order (given as a coordinate along a chromosome) and the orientation of each contig is presented, together with a list of all the links used to generate this layout. Some links are deemed invalid, being given a code of &amp;quot;LEN&amp;quot; in case the length was deemed incorrect, or &amp;quot;ORI&amp;quot; in case the link orientation was considered incorrect. This file is also specified by the [[bambus.dtd|DTD]] and an example ([[bambus.out.xml|data/sample_files/bambus.out.xml]]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .stats file ===&lt;br /&gt;
&lt;br /&gt;
Finally, BAMBUS outputs a summary of the scaffolds generated. This file is pretty much self-explanatory, as evidenced by this example ([[bambus.stats|data/sample_files/bambus.stats]]). Note that in the .stats file, the N50 sizes are computed with respect to the total span of the scaffolds unless a different genome size is specified in a file called genome.size.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .details file ===&lt;br /&gt;
&lt;br /&gt;
The .details file contains detailed information about the linking information between adjacent contigs. The contigs&amp;#039; orientation, size, and coordinates are listed and then all the linking data grouped by validity and library. An example is provided in [[bambus.details|data/sample_files/bambus.details]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .dot file ===&lt;br /&gt;
&lt;br /&gt;
Represents a graphical representation of the scaffolds in GraphViz format. Please see the [http://www.research.att.com/sw/tools/graphviz/ AT&amp;amp;T GraphViz] website for more information on this file format.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .ps file ===&lt;br /&gt;
&lt;br /&gt;
A postscript image generated from the GraphViz-formatted file. It can be obtained from the .dot file with the command:&lt;br /&gt;
 dot -Tps -o prefix.ps prefix.dot&lt;br /&gt;
&lt;br /&gt;
An example is given in the picture below.&lt;br /&gt;
[[Image:bambus-display.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Each scaffold is placed in a box, labeled with some statistics on the scaffold size (number of contigs, number of bases and span). All the &amp;quot;gaps&amp;quot; - linking relationships between the contigs are represented as edges. Each edge is decorated with the number of links contributing to it, the number of links from each library type, and the number of links invalidated due to incorrect length (L) or orientation (O). Each contig&amp;#039;s ID, size, and coordinates within the scaffold are also listed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .oo file ===&lt;br /&gt;
&lt;br /&gt;
This file contains a summary of the order and orientation of all contigs present in the data. Each scaffold starts with a FASTA-like header containing the identifier for the scaffold followed by the number of contigs, size and span. Within each scaffold, all contigs are listed in the scaffold order, followed by the string BE for those in the forward orientation and EB for those in the reverse orientation. An example file is shown in: [[bambus.oo|data/sample_files/bambus.oo]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .sum file ===&lt;br /&gt;
&lt;br /&gt;
This file contains one line for each scaffold. Each line contains the scaffold ID, number of contigs, scaffold size, and span. The four values are separated by TAB characters. See an example in [[bambus.sum|data/sample_files/bambus.sum]].&lt;br /&gt;
&lt;br /&gt;
== Known problems ==&lt;br /&gt;
There is a small &amp;quot;off-by-one&amp;quot; error in computing contig coordinates. It should not really affect the usefulness of the output.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Contact information ==&lt;br /&gt;
&lt;br /&gt;
BAMBUS is currently provided AS-IS, in other words we do not provide any support for the software. We would, however, like to hear your comments and suggestions.  For Bambus bug reports, support requests, or any other inquiries please browse our SourceForge project page or Email us at:&lt;br /&gt;
&lt;br /&gt;
  amos-help (at) lists (dot) sourceforge (dot) net&lt;br /&gt;
&lt;br /&gt;
BAMBUS was written by Mihai Pop and Dan Kosack.&lt;/div&gt;</summary>
		<author><name>Dmb000006</name></author>	</entry>

	<entry>
		<id>http://amos.sourceforge.net/wiki/index.php/AMOS_Getting_Started</id>
		<title>AMOS Getting Started</title>
		<link rel="alternate" type="text/html" href="http://amos.sourceforge.net/wiki/index.php/AMOS_Getting_Started"/>
				<updated>2010-12-16T14:04:27Z</updated>
		
		<summary type="html">&lt;p&gt;Dmb000006: Adding this header to the download section should make the equivelent section in the installation section more visible... I guess...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
Is AMOS an assembler?  is one of the first questions we are asked.  The short answer is no.  AMOS is not an assembler, rather a software infrastructure for developing assembly tools.  If you are only interested in running an off-the-shelf assembler on your shotgun data, do not despair, AMOS provides two such assemblers: AMOScmp - a comparative assembler; and Minimus - a basic assembler for small datasets.  However it is important to realize that, with a little bit of programming, you can use AMOS to put together your own shotgun assembler customized for the specific characteristics of your data.  &lt;br /&gt;
&lt;br /&gt;
This page will provide you with the basic information needed to get started using AMOS.  Advanced AMOS users can go directly to in-depth resources from the main page [[AMOS]].&lt;br /&gt;
&lt;br /&gt;
== Downloading AMOS ==&lt;br /&gt;
AMOS can be downloaded from Sourceforge using the following link: [http://sourceforge.net/project/showfiles.php?group_id=134326 http://sourceforge.net/project/showfiles.php?group_id=134326]&lt;br /&gt;
&lt;br /&gt;
No need to remember this URL as you can easily reach it from the [AMOS main page].&lt;br /&gt;
&lt;br /&gt;
This link will bring you to the Sourceforge download page for our project.  While older versions of our code are also available for download from this page we recommend you download the latest version to take advantage of the full functionality of the code.&lt;br /&gt;
&lt;br /&gt;
AMOS is released as a source-code package, with the exception of the OSX version of the assembly viewer Hawkeye, that can be downloaded as a binary from the File Release section of the download page.  Instructions for compiling and installing AMOS are provided below.  &lt;br /&gt;
&lt;br /&gt;
=== Downloading the development version ===&lt;br /&gt;
&lt;br /&gt;
If you want the bleeding-edge of AMOS, e.g. to edit the source code, you should download the development version of AMOS using CVS following the directions here: [http://sourceforge.net/scm/?type=cvs&amp;amp;group_id=134326 http://sourceforge.net/scm/?type=cvs&amp;amp;group_id=134326]&lt;br /&gt;
&lt;br /&gt;
Or in short:&lt;br /&gt;
   cvs -z3 -d:pserver:anonymous@amos.cvs.sourceforge.net:/cvsroot/amos co -P AMOS&lt;br /&gt;
&lt;br /&gt;
== Installing AMOS ==&lt;br /&gt;
After reading this section make sure you also read the INSTALL file distributed with AMOS.  This file may contain information pertaining to the latest version of AMOS that is not included here.&lt;br /&gt;
&lt;br /&gt;
=== Installing the development version ===&lt;br /&gt;
&lt;br /&gt;
The first step to install the CVS version of AMOS is to type:&lt;br /&gt;
   ./bootstrap&lt;br /&gt;
&lt;br /&gt;
Then proceed with the instructions for the normal installation below.&lt;br /&gt;
&lt;br /&gt;
=== Normal installation ===&lt;br /&gt;
The AMOS source package has a name like: amos-1.4.5.tar.gz where 1.4.5 is the version of the code.  Once you untar this file (using &amp;quot;tar -xzf amos-1.4.5.tar.gz&amp;quot; in Linux, or &amp;quot;gunzip -d amos-1.4.5.tar.gz | tar xf -&amp;quot; in other flavors of Unix) you will find the current AMOS distribution in a directory named amos-1.4.5.  The next steps assume you have cd&amp;#039;d into this directory.&lt;br /&gt;
&lt;br /&gt;
AMOS uses the [http://www.gnu.org/software/autoconf GNU autoconf] package to reduce cross-platform compatibility issues.  Before compiling the code you will need to run the configure script that will probe your system for the locations of all software packages required by AMOS.&lt;br /&gt;
&lt;br /&gt;
By simply running:&lt;br /&gt;
&lt;br /&gt;
 ./configure&lt;br /&gt;
&lt;br /&gt;
you will prepare AMOS to be installed in the directory hosting the source package.  This is OK if you are just testing AMOS.  We recommend, however, that you provide the configure script with a more permanent home for AMOS, e.g.:&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/usr/local&lt;br /&gt;
&lt;br /&gt;
will ultimately lead the AMOS directory hierarchy to be installed underneath /usr/local/.  &lt;br /&gt;
&lt;br /&gt;
After running configure, make sure you check the messages left on your screen to make sure no errors occured.  Errors during the configure step can lead to an incomplete build.&lt;br /&gt;
&lt;br /&gt;
To compile the code you need to simply run:&lt;br /&gt;
&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
followed by&lt;br /&gt;
&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
to install AMOS into the directory selected with the --prefix option to configure.  &lt;br /&gt;
&lt;br /&gt;
Normally, these steps are sufficient to install AMOS on most UNIX systems.  If you encounter errors during configuration or compilation, or if you are trying to install AMOS on an OSX or Cygwin system, please read the following sub-sections.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Specifying the location of MUMmer ===&lt;br /&gt;
If the configure script gives you a message like:&lt;br /&gt;
&lt;br /&gt;
 WARNING! nucmer was not found but is required to run AMOScmp&lt;br /&gt;
    install nucmer if planning on using AMOScmp&lt;br /&gt;
&lt;br /&gt;
you either have not installed the [http://mummer.sourceforge.net/ MUMmer] package, or you have installed it in a location where the configure script cannot find it.  MUMmer (the nucmer program in particular) is required by the comparative assembler [[AMOScmp]].&lt;br /&gt;
&lt;br /&gt;
To remedy this situation, please install MUMmer following instructions found at [http://mummer.sourceforge.net http://mummer.sourceforge.net].  &lt;br /&gt;
&lt;br /&gt;
If MUMmer is already installed, but configure cannot find it, you can specify the location of the nucmer program by setting the environment variably NUCMER, e.g.:&lt;br /&gt;
&lt;br /&gt;
 NUCMER=/usr/local/bin/mummer/nucmer&lt;br /&gt;
 export NUCMER&lt;br /&gt;
&lt;br /&gt;
in a &amp;quot;traditional&amp;quot; shell (sh, bash, ksh, etc.), or&lt;br /&gt;
&lt;br /&gt;
 setenv NUCMER /usr/local/bin/mummer/nucmer&lt;br /&gt;
&lt;br /&gt;
in csh or tcsh.  Of course you&amp;#039;ll need to replace /usr/local/bin/mummer/nucmer with the actual location of this program on your system.&lt;br /&gt;
Specifying the location of the QT library&lt;br /&gt;
On most Unix installations (see below for OSX and Cygwin), the QT library should be properly installed and AMOS will make without any problems.  If, however, you notice a message like:&lt;br /&gt;
&lt;br /&gt;
 WARNING! Qt3 toolkit was not found but is required to run AMOS GUIs&lt;br /&gt;
&lt;br /&gt;
the configure process was not able to find the QT library on your system.  Check with your system administrator to have this toolkit installed on your system.  If, however, you are certain the toolkit is installed, but AMOS still didn&amp;#039;t find it, you can directly specify the location of the toolkit directory, or specifically the include, bin, and lib directories, where QT is installed, and the name of the library file, using the following options to the configure script:&lt;br /&gt;
&lt;br /&gt;
 --with_Qt_dir&lt;br /&gt;
 --with_Qt_include_dir&lt;br /&gt;
 --with_Qt_lib_dir&lt;br /&gt;
 --with_Qt_bin_dir&lt;br /&gt;
 --with_Qt_lib&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu installation ===&lt;br /&gt;
[[Ubuntu installation]]&lt;br /&gt;
&lt;br /&gt;
=== Fedora installation ===&lt;br /&gt;
[[Fedora installation]]&lt;br /&gt;
&lt;br /&gt;
=== OSX installation ===&lt;br /&gt;
&lt;br /&gt;
[[OSX installation]]&lt;br /&gt;
&lt;br /&gt;
=== Cygwin installation ===&lt;br /&gt;
[[Cygwin installation]]&lt;br /&gt;
&lt;br /&gt;
== Running AMOS ==&lt;br /&gt;
&lt;br /&gt;
=== Basic AMOS concepts ===&lt;br /&gt;
AMOS consists of a collection of modules that operate on a central data-structure called a bank.  A bank is really just a directory that contains a database (organized as a collection of indexed files) comprising assembly related objects such as reads, contigs, scaffolds, etc.  The modules thus communicate with each other by making changes to the bank.  For example, an assembler might consist of three modules: an overlapper, a contigger, and a multi-aligner.  The overlapper will first read the shotgun reads from the bank, compare them to each other and write back to the bank a list of overlaps, i.e. pairs of reads that match each other.  The contigger then reads the collection of overlaps and makes sense out of it, by producing a layout of the reads that is consistent with most of the observed overlaps.  The contigger then writes these contigs (contiguous chunks of the genome) to the bank.  Finally, the multi-aligner reads from the bank both the reads and the contigs, builds a multiple alignment of the reads, using as a guide the layout of the reads produced by the contigger, then updates the contigs with the detailed alignment information.  Thus, the three programs were able to communicate with each other using the bank as an intermediate storage space.  If this litle description didn&amp;#039;t make much sense to you, check out our [http://www.cbcb.umd.edu/research/assembly_primer.shtml Genome Assembly Primer].  It also has pointers to future reading.&lt;br /&gt;
&lt;br /&gt;
Objects in the bank may be identified by one, or both of the following identifiers:  IID (internal identifier) - an integer identifier, internal to AMOS; and EID (external identifier) - a string representing some external identifier of the record, e.g. the original name of a sequencing read.  Both identifiers must be unique for a specific object type, but may be shared by multiple objects.  For example, there can only be one contig with an IID equal to 1, however there can be both a contig, and a read, and an overlap, all with the IID = 1.&lt;br /&gt;
Message files&lt;br /&gt;
The AMOS banks are not the only mechanism for AMOS modules to communicate with each other, and to the &amp;quot;outside world&amp;quot;.  AMOS also uses a flat-file format (AMOS message files) inspired  by the format used in Celera Assembler.  This format is generally used as an intermediate format for converting to and from external file formats.  The AMOS message files are then used to populate the data-structures present in a bank.  &lt;br /&gt;
&lt;br /&gt;
For more details on the AMOS message file format check out the [[Infrastructure]] pages.  The use of message files will be described in more detail in the remainder of this tutorial.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Reading and writing banks ====&lt;br /&gt;
To learn how to generate AMOS message files check out the section called Creating inputs for AMOS.  Assuming you already have an AMOS message file, most of the modules will require that the information from this file be loaded into a bank.  This section describes the commands used to transfer information between a bank and the message file.&lt;br /&gt;
&lt;br /&gt;
The command bank-transact can be used to load a message file into a bank.  In its simplest invocation:&lt;br /&gt;
&lt;br /&gt;
 bank-transact -b mybank -m mymessagefile&lt;br /&gt;
&lt;br /&gt;
bank-transact loads the messages in mymessagefile into the bank mybank.  Note that this invocation assume the bank already exists, and bank-transact will fail otherwise.  When creating a new bank you can run:&lt;br /&gt;
&lt;br /&gt;
 bank-transact -c -b mybank -m mymessagefile&lt;br /&gt;
&lt;br /&gt;
The option -c stands for &amp;quot;create&amp;quot;.  By also providing the option -f  (force), the bank will be overwritten if it already exists.&lt;br /&gt;
&lt;br /&gt;
The contents of a bank can be output into a flat-file format with the command:&lt;br /&gt;
&lt;br /&gt;
 bank-report -b mybank&lt;br /&gt;
&lt;br /&gt;
By default bank-report outputs all the data in the bank.  The output can be restricted to certain message types by providing the 3 letter codes of the messages to be output, e.g:&lt;br /&gt;
&lt;br /&gt;
 bank-report -b mybank CTG RED&lt;br /&gt;
&lt;br /&gt;
will output all the contigs (CTG) and read (RED) records.  In addition bank-report allows the user to specify a list of EIDs (option -E) or a list of IIDs (option -I) that will be reported.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Bank locking ====&lt;br /&gt;
To allow concurrent access to the bank, AMOS programs lock the bank while the operate on it.  There are two types of locks: for reading, and writing.  If a bank is locked for reading, other read accesses are allowed but no writes.  If a bank is locked for writing, no concurrent accesses are allowed.  Some of the AMOS tools (such as the viewer Hawkeye), have an option to load a bank in &amp;quot;inspect&amp;quot; mode, i.e. the code ignores any locks placed on the bank.&lt;br /&gt;
&lt;br /&gt;
In certain situations, if a program accessing the bank crashes, the bank may remain locked, prohibiting further access.  All existing locks can be removed with the command (make sure that another user is not accessing the same bank):&lt;br /&gt;
&lt;br /&gt;
 bank-unlock mybank&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Bank versions ====&lt;br /&gt;
The specific format of the AMOS bank is closely related to the current version of the AMOS software.  The banks are not backward compatible, i.e., a bank produced by AMOS 1.0 will not be readable by AMOS 1.5.  A simple solution for reading a bank created by an older version of AMOS is to output the contents of the bank using bank-report (the AMOS distribution contains old versions of the bank-report code, e.g. bank-report-1.1) , then reload the bank with the most recent bank-transact command.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Pipelines ====&lt;br /&gt;
As it has hopefully become clear from the introduction to AMOS above, most genome assembly tasks involve the sequential execution of several modules, in an assembly line (or pipeline) fashion.   AMOS provides a mechanism for quickly putting together simple pipelines.   By &amp;quot;simple&amp;quot; we mean situations where the specific assembly task involves running several programs in order, without the need for more complex control structures such as &amp;quot;if&amp;quot; statements or loops.  To implement complex pipelines you will have to rely on Perl or another complex programming language.  &lt;br /&gt;
&lt;br /&gt;
An AMOS pipelines are described in a simple interpreted language, and consist of a series of steps that are executed in order.  The steps are meant to provide a logical breakdown of the individual assembly tasks, representing the execution of one or more programs.  Each step in a pipeline is identified by a step number (a throw-back to the days of the Basic language) providing the user with a mechanism to execute only some of the steps of a pipeline.  &lt;br /&gt;
&lt;br /&gt;
To learn more about AMOS pipelines and how to write them, check out the documentation for [[runAmos]] (the pipeline executor), or check out one of the pipelines distributed with AMOS (AMOScmp and minimus are good starting points).&lt;br /&gt;
&lt;br /&gt;
=== Creating inputs for AMOS ===&lt;br /&gt;
The inputs to most AMOS programs must be provided in the AMOS message format.  For help converting non-AMOS file formats into message files see the [[File conversion utilities]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Running AMOScmp ===&lt;br /&gt;
AMOScmp is a comparative assembler that can be used to assemble reads from one genome (called the target) using as a template the sequence of a related genome (called the reference).  Read the AMOScmp documentation for a  detailed description of this program.&lt;br /&gt;
&lt;br /&gt;
By default, running AMOScmp as follows:&lt;br /&gt;
&lt;br /&gt;
 AMOScmp prefix&lt;br /&gt;
&lt;br /&gt;
assumes that the target is provided in the AMOS message file prefix.afg, and the reference in the file prefix.1con.  To use different file locations, you can set the variables TGT and REF, either directly within the AMOScmp script, or on the command line:&lt;br /&gt;
&lt;br /&gt;
 AMOScmp -D &amp;quot;TGT=mytarget.afg&amp;quot; -D &amp;quot;REF=myreference.1con&amp;quot;  prefix&lt;br /&gt;
&lt;br /&gt;
The prefix must still be provided as it is used to generate the name of the output files.&lt;br /&gt;
&lt;br /&gt;
AMOScmp will populate a bank named prefix.bnk, and will load into it a set of contigs, as well as a scaffold, linking together contigs that are adjacent along the reference.  In addition, AMOScmp outputs the set of contigs as both a multi-FASTA file prefix.fasta, and a TIGR .contig file prefix.contig.  Note that the consensus of the contigs (reported in the FASTA file) is generated from the target genome, and may differ from the reference genome (after all, the goal of the assembler is to assemble the target).  In fact, AMOScmp uses sophisticated algorithms for detecting differences between the target and reference in order to prevent misassemblies.  For more information refer to:&lt;br /&gt;
&lt;br /&gt;
M. Pop, A. Phillippy, A.L. Delcher and S.L. Salzberg. [http://www.cbcb.umd.edu/papers/Pop%20et%20al%20Comparative.pdf Comparative genome assembly]. Briefings in Bioinformatics. 5(3), pp. 237-248, 2004.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Running minimus ===&lt;br /&gt;
Minimus is a basic genome assembler that can be used for small assembly jobs (e.g. a single gene, or a viral genome).  Minimus is currently used as a central component of the Influenza A sequencing pipeline at The Institute for Genomic Research. Read the [[minimus]] documentation for more information.&lt;br /&gt;
&lt;br /&gt;
To run minimus you must provide a set of shotgun reads in an AMOS message file.  Running:&lt;br /&gt;
&lt;br /&gt;
 minimus prefix&lt;br /&gt;
&lt;br /&gt;
assumes the input is in file prefix.afg.  After running, minimus populates the bank prefix.bnk with a set of contigs, furthermore it reports the contigs in both a FASTA file (prefix.fasta) and a TIGR .contig file (prefix.contig).   Note that minimus does not use mate-pairs.  In essence it is, in Celera Assembler terminology, a unitigger.  Any mate-pair information provided in the .afg will be silently ignored.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Viewing the result of an assembly ===&lt;br /&gt;
The content of a  bank can be viewed with a program called Hawkeye:&lt;br /&gt;
&lt;br /&gt;
 hawkeye mybank&lt;br /&gt;
&lt;br /&gt;
For detailed information on how to use Hawkeye, refer to the [[Hawkeye]] documentation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Validating assemblies ===&lt;br /&gt;
Even the best genome assemblers sometimes make mistakes.  AMOS provides a mechanism to run several checks on the output of an assembler (assuming the data are already stored in a bank), through a script called amosvalidate.  Amosvalidate runs through the assembly and identifies several types of inconsistencies, such as clusters of SNPs in the assembled reads, clusters of mate-pairs that are too close or too far from each other (with respect to the estimated library sizes), and unassembled reads that do not properly match the assembly.  A full description of these measures is beyond the scope of this document.  We are currently submitting a manuscript describing the tools included in amosvalidate and will update this page when it gets published.&lt;br /&gt;
&lt;br /&gt;
All the potential assembly problems identified by amosvalidate are written back into the bank as features, i.e ranges along the assembly.  Each feature is tagged with the problem that was identified in that region.  Typically, users then load the assembly in the Hawkeye viewer and examine the assembly in the tagged regions.  Alternatively, the features may be extracted from the bank and processed automatically by specialized software (e.g. several assemblies of a same genome can be compared by the number of features identified in the assembly - the assembly with fewer features is likely &amp;quot;better&amp;quot;).  &lt;br /&gt;
&lt;br /&gt;
Running amosvalidate is as simple as:&lt;br /&gt;
&lt;br /&gt;
 amosvalidate prefix&lt;br /&gt;
&lt;br /&gt;
where prefix.bnk is the location of the bank.&lt;br /&gt;
&lt;br /&gt;
== Getting help ==&lt;br /&gt;
To report bugs in AMOS, or to get help, email us at:&lt;br /&gt;
&lt;br /&gt;
 amos-help (at) lists (dot) sourceforget (dot) net&lt;br /&gt;
&lt;br /&gt;
To receive information regarding new releases and developments, please [http://lists.sourceforge.net/lists/listinfo/amos-users subscribe] to our moderated, low-traffic users&amp;#039; mailing list:&lt;br /&gt;
&lt;br /&gt;
 amos-users (at) lists (dot) sourceforget (dot) net&lt;/div&gt;</summary>
		<author><name>Dmb000006</name></author>	</entry>

	<entry>
		<id>http://amos.sourceforge.net/wiki/index.php/AMOS_Getting_Started</id>
		<title>AMOS Getting Started</title>
		<link rel="alternate" type="text/html" href="http://amos.sourceforge.net/wiki/index.php/AMOS_Getting_Started"/>
				<updated>2010-12-16T14:02:15Z</updated>
		
		<summary type="html">&lt;p&gt;Dmb000006: Switching out the explicit right aligned TOC for the equivelent template call&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
Is AMOS an assembler?  is one of the first questions we are asked.  The short answer is no.  AMOS is not an assembler, rather a software infrastructure for developing assembly tools.  If you are only interested in running an off-the-shelf assembler on your shotgun data, do not despair, AMOS provides two such assemblers: AMOScmp - a comparative assembler; and Minimus - a basic assembler for small datasets.  However it is important to realize that, with a little bit of programming, you can use AMOS to put together your own shotgun assembler customized for the specific characteristics of your data.  &lt;br /&gt;
&lt;br /&gt;
This page will provide you with the basic information needed to get started using AMOS.  Advanced AMOS users can go directly to in-depth resources from the main page [[AMOS]].&lt;br /&gt;
&lt;br /&gt;
== Downloading AMOS ==&lt;br /&gt;
AMOS can be downloaded from Sourceforge using the following link: [http://sourceforge.net/project/showfiles.php?group_id=134326 http://sourceforge.net/project/showfiles.php?group_id=134326]&lt;br /&gt;
&lt;br /&gt;
No need to remember this URL as you can easily reach it from the [AMOS main page].&lt;br /&gt;
&lt;br /&gt;
This link will bring you to the Sourceforge download page for our project.  While older versions of our code are also available for download from this page we recommend you download the latest version to take advantage of the full functionality of the code.&lt;br /&gt;
&lt;br /&gt;
AMOS is released as a source-code package, with the exception of the OSX version of the assembly viewer Hawkeye, that can be downloaded as a binary from the File Release section of the download page.  Instructions for compiling and installing AMOS are provided below.  &lt;br /&gt;
&lt;br /&gt;
If you want the bleeding-edge of AMOS, e.g. to edit the source code, you should download the development version of AMOS using CVS following the directions here: [http://sourceforge.net/scm/?type=cvs&amp;amp;group_id=134326 http://sourceforge.net/scm/?type=cvs&amp;amp;group_id=134326]&lt;br /&gt;
&lt;br /&gt;
Or in short:&lt;br /&gt;
   cvs -z3 -d:pserver:anonymous@amos.cvs.sourceforge.net:/cvsroot/amos co -P AMOS&lt;br /&gt;
&lt;br /&gt;
== Installing AMOS ==&lt;br /&gt;
After reading this section make sure you also read the INSTALL file distributed with AMOS.  This file may contain information pertaining to the latest version of AMOS that is not included here.&lt;br /&gt;
&lt;br /&gt;
=== Installation of the development version ===&lt;br /&gt;
&lt;br /&gt;
The first step to install the CVS version of AMOS is to type:&lt;br /&gt;
   ./bootstrap&lt;br /&gt;
&lt;br /&gt;
Then proceed with the instructions for the normal installation below.&lt;br /&gt;
&lt;br /&gt;
=== Normal installation ===&lt;br /&gt;
The AMOS source package has a name like: amos-1.4.5.tar.gz where 1.4.5 is the version of the code.  Once you untar this file (using &amp;quot;tar -xzf amos-1.4.5.tar.gz&amp;quot; in Linux, or &amp;quot;gunzip -d amos-1.4.5.tar.gz | tar xf -&amp;quot; in other flavors of Unix) you will find the current AMOS distribution in a directory named amos-1.4.5.  The next steps assume you have cd&amp;#039;d into this directory.&lt;br /&gt;
&lt;br /&gt;
AMOS uses the [http://www.gnu.org/software/autoconf GNU autoconf] package to reduce cross-platform compatibility issues.  Before compiling the code you will need to run the configure script that will probe your system for the locations of all software packages required by AMOS.&lt;br /&gt;
&lt;br /&gt;
By simply running:&lt;br /&gt;
&lt;br /&gt;
 ./configure&lt;br /&gt;
&lt;br /&gt;
you will prepare AMOS to be installed in the directory hosting the source package.  This is OK if you are just testing AMOS.  We recommend, however, that you provide the configure script with a more permanent home for AMOS, e.g.:&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/usr/local&lt;br /&gt;
&lt;br /&gt;
will ultimately lead the AMOS directory hierarchy to be installed underneath /usr/local/.  &lt;br /&gt;
&lt;br /&gt;
After running configure, make sure you check the messages left on your screen to make sure no errors occured.  Errors during the configure step can lead to an incomplete build.&lt;br /&gt;
&lt;br /&gt;
To compile the code you need to simply run:&lt;br /&gt;
&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
followed by&lt;br /&gt;
&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
to install AMOS into the directory selected with the --prefix option to configure.  &lt;br /&gt;
&lt;br /&gt;
Normally, these steps are sufficient to install AMOS on most UNIX systems.  If you encounter errors during configuration or compilation, or if you are trying to install AMOS on an OSX or Cygwin system, please read the following sub-sections.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Specifying the location of MUMmer ===&lt;br /&gt;
If the configure script gives you a message like:&lt;br /&gt;
&lt;br /&gt;
 WARNING! nucmer was not found but is required to run AMOScmp&lt;br /&gt;
    install nucmer if planning on using AMOScmp&lt;br /&gt;
&lt;br /&gt;
you either have not installed the [http://mummer.sourceforge.net/ MUMmer] package, or you have installed it in a location where the configure script cannot find it.  MUMmer (the nucmer program in particular) is required by the comparative assembler [[AMOScmp]].&lt;br /&gt;
&lt;br /&gt;
To remedy this situation, please install MUMmer following instructions found at [http://mummer.sourceforge.net http://mummer.sourceforge.net].  &lt;br /&gt;
&lt;br /&gt;
If MUMmer is already installed, but configure cannot find it, you can specify the location of the nucmer program by setting the environment variably NUCMER, e.g.:&lt;br /&gt;
&lt;br /&gt;
 NUCMER=/usr/local/bin/mummer/nucmer&lt;br /&gt;
 export NUCMER&lt;br /&gt;
&lt;br /&gt;
in a &amp;quot;traditional&amp;quot; shell (sh, bash, ksh, etc.), or&lt;br /&gt;
&lt;br /&gt;
 setenv NUCMER /usr/local/bin/mummer/nucmer&lt;br /&gt;
&lt;br /&gt;
in csh or tcsh.  Of course you&amp;#039;ll need to replace /usr/local/bin/mummer/nucmer with the actual location of this program on your system.&lt;br /&gt;
Specifying the location of the QT library&lt;br /&gt;
On most Unix installations (see below for OSX and Cygwin), the QT library should be properly installed and AMOS will make without any problems.  If, however, you notice a message like:&lt;br /&gt;
&lt;br /&gt;
 WARNING! Qt3 toolkit was not found but is required to run AMOS GUIs&lt;br /&gt;
&lt;br /&gt;
the configure process was not able to find the QT library on your system.  Check with your system administrator to have this toolkit installed on your system.  If, however, you are certain the toolkit is installed, but AMOS still didn&amp;#039;t find it, you can directly specify the location of the toolkit directory, or specifically the include, bin, and lib directories, where QT is installed, and the name of the library file, using the following options to the configure script:&lt;br /&gt;
&lt;br /&gt;
 --with_Qt_dir&lt;br /&gt;
 --with_Qt_include_dir&lt;br /&gt;
 --with_Qt_lib_dir&lt;br /&gt;
 --with_Qt_bin_dir&lt;br /&gt;
 --with_Qt_lib&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu installation ===&lt;br /&gt;
[[Ubuntu installation]]&lt;br /&gt;
&lt;br /&gt;
=== Fedora installation ===&lt;br /&gt;
[[Fedora installation]]&lt;br /&gt;
&lt;br /&gt;
=== OSX installation ===&lt;br /&gt;
&lt;br /&gt;
[[OSX installation]]&lt;br /&gt;
&lt;br /&gt;
=== Cygwin installation ===&lt;br /&gt;
[[Cygwin installation]]&lt;br /&gt;
&lt;br /&gt;
== Running AMOS ==&lt;br /&gt;
&lt;br /&gt;
=== Basic AMOS concepts ===&lt;br /&gt;
AMOS consists of a collection of modules that operate on a central data-structure called a bank.  A bank is really just a directory that contains a database (organized as a collection of indexed files) comprising assembly related objects such as reads, contigs, scaffolds, etc.  The modules thus communicate with each other by making changes to the bank.  For example, an assembler might consist of three modules: an overlapper, a contigger, and a multi-aligner.  The overlapper will first read the shotgun reads from the bank, compare them to each other and write back to the bank a list of overlaps, i.e. pairs of reads that match each other.  The contigger then reads the collection of overlaps and makes sense out of it, by producing a layout of the reads that is consistent with most of the observed overlaps.  The contigger then writes these contigs (contiguous chunks of the genome) to the bank.  Finally, the multi-aligner reads from the bank both the reads and the contigs, builds a multiple alignment of the reads, using as a guide the layout of the reads produced by the contigger, then updates the contigs with the detailed alignment information.  Thus, the three programs were able to communicate with each other using the bank as an intermediate storage space.  If this litle description didn&amp;#039;t make much sense to you, check out our [http://www.cbcb.umd.edu/research/assembly_primer.shtml Genome Assembly Primer].  It also has pointers to future reading.&lt;br /&gt;
&lt;br /&gt;
Objects in the bank may be identified by one, or both of the following identifiers:  IID (internal identifier) - an integer identifier, internal to AMOS; and EID (external identifier) - a string representing some external identifier of the record, e.g. the original name of a sequencing read.  Both identifiers must be unique for a specific object type, but may be shared by multiple objects.  For example, there can only be one contig with an IID equal to 1, however there can be both a contig, and a read, and an overlap, all with the IID = 1.&lt;br /&gt;
Message files&lt;br /&gt;
The AMOS banks are not the only mechanism for AMOS modules to communicate with each other, and to the &amp;quot;outside world&amp;quot;.  AMOS also uses a flat-file format (AMOS message files) inspired  by the format used in Celera Assembler.  This format is generally used as an intermediate format for converting to and from external file formats.  The AMOS message files are then used to populate the data-structures present in a bank.  &lt;br /&gt;
&lt;br /&gt;
For more details on the AMOS message file format check out the [[Infrastructure]] pages.  The use of message files will be described in more detail in the remainder of this tutorial.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Reading and writing banks ====&lt;br /&gt;
To learn how to generate AMOS message files check out the section called Creating inputs for AMOS.  Assuming you already have an AMOS message file, most of the modules will require that the information from this file be loaded into a bank.  This section describes the commands used to transfer information between a bank and the message file.&lt;br /&gt;
&lt;br /&gt;
The command bank-transact can be used to load a message file into a bank.  In its simplest invocation:&lt;br /&gt;
&lt;br /&gt;
 bank-transact -b mybank -m mymessagefile&lt;br /&gt;
&lt;br /&gt;
bank-transact loads the messages in mymessagefile into the bank mybank.  Note that this invocation assume the bank already exists, and bank-transact will fail otherwise.  When creating a new bank you can run:&lt;br /&gt;
&lt;br /&gt;
 bank-transact -c -b mybank -m mymessagefile&lt;br /&gt;
&lt;br /&gt;
The option -c stands for &amp;quot;create&amp;quot;.  By also providing the option -f  (force), the bank will be overwritten if it already exists.&lt;br /&gt;
&lt;br /&gt;
The contents of a bank can be output into a flat-file format with the command:&lt;br /&gt;
&lt;br /&gt;
 bank-report -b mybank&lt;br /&gt;
&lt;br /&gt;
By default bank-report outputs all the data in the bank.  The output can be restricted to certain message types by providing the 3 letter codes of the messages to be output, e.g:&lt;br /&gt;
&lt;br /&gt;
 bank-report -b mybank CTG RED&lt;br /&gt;
&lt;br /&gt;
will output all the contigs (CTG) and read (RED) records.  In addition bank-report allows the user to specify a list of EIDs (option -E) or a list of IIDs (option -I) that will be reported.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Bank locking ====&lt;br /&gt;
To allow concurrent access to the bank, AMOS programs lock the bank while the operate on it.  There are two types of locks: for reading, and writing.  If a bank is locked for reading, other read accesses are allowed but no writes.  If a bank is locked for writing, no concurrent accesses are allowed.  Some of the AMOS tools (such as the viewer Hawkeye), have an option to load a bank in &amp;quot;inspect&amp;quot; mode, i.e. the code ignores any locks placed on the bank.&lt;br /&gt;
&lt;br /&gt;
In certain situations, if a program accessing the bank crashes, the bank may remain locked, prohibiting further access.  All existing locks can be removed with the command (make sure that another user is not accessing the same bank):&lt;br /&gt;
&lt;br /&gt;
 bank-unlock mybank&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Bank versions ====&lt;br /&gt;
The specific format of the AMOS bank is closely related to the current version of the AMOS software.  The banks are not backward compatible, i.e., a bank produced by AMOS 1.0 will not be readable by AMOS 1.5.  A simple solution for reading a bank created by an older version of AMOS is to output the contents of the bank using bank-report (the AMOS distribution contains old versions of the bank-report code, e.g. bank-report-1.1) , then reload the bank with the most recent bank-transact command.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Pipelines ====&lt;br /&gt;
As it has hopefully become clear from the introduction to AMOS above, most genome assembly tasks involve the sequential execution of several modules, in an assembly line (or pipeline) fashion.   AMOS provides a mechanism for quickly putting together simple pipelines.   By &amp;quot;simple&amp;quot; we mean situations where the specific assembly task involves running several programs in order, without the need for more complex control structures such as &amp;quot;if&amp;quot; statements or loops.  To implement complex pipelines you will have to rely on Perl or another complex programming language.  &lt;br /&gt;
&lt;br /&gt;
An AMOS pipelines are described in a simple interpreted language, and consist of a series of steps that are executed in order.  The steps are meant to provide a logical breakdown of the individual assembly tasks, representing the execution of one or more programs.  Each step in a pipeline is identified by a step number (a throw-back to the days of the Basic language) providing the user with a mechanism to execute only some of the steps of a pipeline.  &lt;br /&gt;
&lt;br /&gt;
To learn more about AMOS pipelines and how to write them, check out the documentation for [[runAmos]] (the pipeline executor), or check out one of the pipelines distributed with AMOS (AMOScmp and minimus are good starting points).&lt;br /&gt;
&lt;br /&gt;
=== Creating inputs for AMOS ===&lt;br /&gt;
The inputs to most AMOS programs must be provided in the AMOS message format.  For help converting non-AMOS file formats into message files see the [[File conversion utilities]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Running AMOScmp ===&lt;br /&gt;
AMOScmp is a comparative assembler that can be used to assemble reads from one genome (called the target) using as a template the sequence of a related genome (called the reference).  Read the AMOScmp documentation for a  detailed description of this program.&lt;br /&gt;
&lt;br /&gt;
By default, running AMOScmp as follows:&lt;br /&gt;
&lt;br /&gt;
 AMOScmp prefix&lt;br /&gt;
&lt;br /&gt;
assumes that the target is provided in the AMOS message file prefix.afg, and the reference in the file prefix.1con.  To use different file locations, you can set the variables TGT and REF, either directly within the AMOScmp script, or on the command line:&lt;br /&gt;
&lt;br /&gt;
 AMOScmp -D &amp;quot;TGT=mytarget.afg&amp;quot; -D &amp;quot;REF=myreference.1con&amp;quot;  prefix&lt;br /&gt;
&lt;br /&gt;
The prefix must still be provided as it is used to generate the name of the output files.&lt;br /&gt;
&lt;br /&gt;
AMOScmp will populate a bank named prefix.bnk, and will load into it a set of contigs, as well as a scaffold, linking together contigs that are adjacent along the reference.  In addition, AMOScmp outputs the set of contigs as both a multi-FASTA file prefix.fasta, and a TIGR .contig file prefix.contig.  Note that the consensus of the contigs (reported in the FASTA file) is generated from the target genome, and may differ from the reference genome (after all, the goal of the assembler is to assemble the target).  In fact, AMOScmp uses sophisticated algorithms for detecting differences between the target and reference in order to prevent misassemblies.  For more information refer to:&lt;br /&gt;
&lt;br /&gt;
M. Pop, A. Phillippy, A.L. Delcher and S.L. Salzberg. [http://www.cbcb.umd.edu/papers/Pop%20et%20al%20Comparative.pdf Comparative genome assembly]. Briefings in Bioinformatics. 5(3), pp. 237-248, 2004.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Running minimus ===&lt;br /&gt;
Minimus is a basic genome assembler that can be used for small assembly jobs (e.g. a single gene, or a viral genome).  Minimus is currently used as a central component of the Influenza A sequencing pipeline at The Institute for Genomic Research. Read the [[minimus]] documentation for more information.&lt;br /&gt;
&lt;br /&gt;
To run minimus you must provide a set of shotgun reads in an AMOS message file.  Running:&lt;br /&gt;
&lt;br /&gt;
 minimus prefix&lt;br /&gt;
&lt;br /&gt;
assumes the input is in file prefix.afg.  After running, minimus populates the bank prefix.bnk with a set of contigs, furthermore it reports the contigs in both a FASTA file (prefix.fasta) and a TIGR .contig file (prefix.contig).   Note that minimus does not use mate-pairs.  In essence it is, in Celera Assembler terminology, a unitigger.  Any mate-pair information provided in the .afg will be silently ignored.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Viewing the result of an assembly ===&lt;br /&gt;
The content of a  bank can be viewed with a program called Hawkeye:&lt;br /&gt;
&lt;br /&gt;
 hawkeye mybank&lt;br /&gt;
&lt;br /&gt;
For detailed information on how to use Hawkeye, refer to the [[Hawkeye]] documentation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Validating assemblies ===&lt;br /&gt;
Even the best genome assemblers sometimes make mistakes.  AMOS provides a mechanism to run several checks on the output of an assembler (assuming the data are already stored in a bank), through a script called amosvalidate.  Amosvalidate runs through the assembly and identifies several types of inconsistencies, such as clusters of SNPs in the assembled reads, clusters of mate-pairs that are too close or too far from each other (with respect to the estimated library sizes), and unassembled reads that do not properly match the assembly.  A full description of these measures is beyond the scope of this document.  We are currently submitting a manuscript describing the tools included in amosvalidate and will update this page when it gets published.&lt;br /&gt;
&lt;br /&gt;
All the potential assembly problems identified by amosvalidate are written back into the bank as features, i.e ranges along the assembly.  Each feature is tagged with the problem that was identified in that region.  Typically, users then load the assembly in the Hawkeye viewer and examine the assembly in the tagged regions.  Alternatively, the features may be extracted from the bank and processed automatically by specialized software (e.g. several assemblies of a same genome can be compared by the number of features identified in the assembly - the assembly with fewer features is likely &amp;quot;better&amp;quot;).  &lt;br /&gt;
&lt;br /&gt;
Running amosvalidate is as simple as:&lt;br /&gt;
&lt;br /&gt;
 amosvalidate prefix&lt;br /&gt;
&lt;br /&gt;
where prefix.bnk is the location of the bank.&lt;br /&gt;
&lt;br /&gt;
== Getting help ==&lt;br /&gt;
To report bugs in AMOS, or to get help, email us at:&lt;br /&gt;
&lt;br /&gt;
 amos-help (at) lists (dot) sourceforget (dot) net&lt;br /&gt;
&lt;br /&gt;
To receive information regarding new releases and developments, please [http://lists.sourceforge.net/lists/listinfo/amos-users subscribe] to our moderated, low-traffic users&amp;#039; mailing list:&lt;br /&gt;
&lt;br /&gt;
 amos-users (at) lists (dot) sourceforget (dot) net&lt;/div&gt;</summary>
		<author><name>Dmb000006</name></author>	</entry>

	<entry>
		<id>http://amos.sourceforge.net/wiki/index.php/Template:TOC</id>
		<title>Template:TOC</title>
		<link rel="alternate" type="text/html" href="http://amos.sourceforge.net/wiki/index.php/Template:TOC"/>
				<updated>2010-12-16T14:01:44Z</updated>
		
		<summary type="html">&lt;p&gt;Dmb000006: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;Template for generating a right aligned TOC&lt;br /&gt;
&lt;br /&gt;
== Template code ==&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
 | __TOC__&lt;br /&gt;
 |}&lt;/div&gt;</summary>
		<author><name>Dmb000006</name></author>	</entry>

	<entry>
		<id>http://amos.sourceforge.net/wiki/index.php/Template:TOC</id>
		<title>Template:TOC</title>
		<link rel="alternate" type="text/html" href="http://amos.sourceforge.net/wiki/index.php/Template:TOC"/>
				<updated>2010-12-16T13:58:03Z</updated>
		
		<summary type="html">&lt;p&gt;Dmb000006: Templates are good&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;Template for generating a right aligned TOC&lt;br /&gt;
&lt;br /&gt;
== Template code ==&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&lt;br /&gt;
{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
 | __TOC__&lt;br /&gt;
 |}&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dmb000006</name></author>	</entry>

	<entry>
		<id>http://amos.sourceforge.net/wiki/index.php/Bambus_2.0/quick_start_guide</id>
		<title>Bambus 2.0/quick start guide</title>
		<link rel="alternate" type="text/html" href="http://amos.sourceforge.net/wiki/index.php/Bambus_2.0/quick_start_guide"/>
				<updated>2010-12-16T13:27:20Z</updated>
		
		<summary type="html">&lt;p&gt;Dmb000006: /* Outputs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a copy of the Bambus 2 user guide taken (and improved) from here: http://www.cbcb.umd.edu/software/bambus/doc/HowToBambus2.pdf&lt;br /&gt;
&lt;br /&gt;
See also: http://www.cbcb.umd.edu/software/bambus&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==How to run Bambus 2.0==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Caveat:&amp;#039;&amp;#039;&amp;#039; Bambus is still being actively developed and the code is currently in the &amp;quot;user beware&amp;quot; and &amp;quot;for experts only&amp;quot; stage.&lt;br /&gt;
&lt;br /&gt;
=== Step 1. Install the AMOS package - Bambus 2.0 is part of it. ===&lt;br /&gt;
See http://sourceforge.net/apps/mediawiki/amos/index.php?title=AMOS_Getting_Started&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; since Bambus is still under active development you should pull the latest unofficial release of AMOS directly from the CVS repository - see instructions at: http://sourceforge.net/apps/mediawiki/amos/index.php?title=Programmer%27s_guide&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Step 2. What information you need ===&lt;br /&gt;
Bambus needs to know about the contigs produced by the assembler and information about how these contigs are linked to each other. In AMOS terms, the basic information necessary are a list of contigs (http://amos.sourceforge.net/docs/api/classAMOS_1_1Contig__t.html) and a list of contig links (http://amos.sourceforge.net/docs/api/classAMOS_1_1ContigLink__t.html) or contig edges (http://amos.sourceforge.net/docs/api/classAMOS_1_1ContigEdge__t.html - bundles of consistent contig links) indicating the relative placement of pairs of contigs.&lt;br /&gt;
&lt;br /&gt;
These data can either be provided to Bambus directly in the form of a AMOS message file (see http://sourceforge.net/apps/mediawiki/amos/index.php?title=Message_Types) or inferred from mate-pair information as described below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Running Bambus 2.0 ==&lt;br /&gt;
* First, add the .afg file built as described above (for other conversion utilities see: http://sourceforge.net/apps/mediawiki/amos/index.php?title=File_conversion_utilities) to an AMOS bank (flat-file database):&lt;br /&gt;
 bank-transact -cf myproj.bnk -m myfile.afg&lt;br /&gt;
&lt;br /&gt;
* Use the mate-pair information to construct a collection of contig links.&lt;br /&gt;
 clk -b myproj.bnk&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; that you can also construct these links with your own custom software and upload them into the bank in which case you would skip the &amp;quot;clk&amp;quot; command.&lt;br /&gt;
&lt;br /&gt;
* Bundle the contig links into a collection of contig edges.&lt;br /&gt;
 Bundler -b myproj.bnk&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; as with the clk command you might want to build the contig edges separately and upload them into the bank using your own software.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; the Bundler command also accepts the command line parameter &amp;quot;-t&amp;quot; followed by a list of edge types as defined in src/AMOS/Link_AMOS.hh. Currently the following types are defined: M- mate-pair, O - overlap, P - physical, A - alignment, S - synteny, X - other.&lt;br /&gt;
&lt;br /&gt;
* Identify genomic repeats and output them to std out&lt;br /&gt;
 MarkRepeats -b myproj.bnk [-redundancy X -aggressive] &amp;gt; myRepeats&lt;br /&gt;
&lt;br /&gt;
Optional parameters:&lt;br /&gt;
:&amp;quot;-redundancy X&amp;quot; only uses contig edges comprising X or more contig links&lt;br /&gt;
:&amp;quot;-aggressive&amp;quot; - aggressive repeat identification based on global depth of coverage statistics (default procedure relies on graph analysis rather than coverage statistics)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; this program requires the boost library&lt;br /&gt;
&lt;br /&gt;
* Order and orient contigs according to repeat and link information&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;IMPORTANT:&amp;#039;&amp;#039;&amp;#039; several of the operations performed by this program destructively modify the bank (changes cannot be undone). You should make a copy of the bank prior to running OrientContigs.&lt;br /&gt;
&lt;br /&gt;
 OrientContigs -b myproj.bnk -prefix myscaff&lt;br /&gt;
&lt;br /&gt;
:&amp;quot;-prefix&amp;quot; specifies the prefix for all output files&lt;br /&gt;
&lt;br /&gt;
Optional parameters:&lt;br /&gt;
:&amp;quot;-all&amp;quot; - output unlinked contigs as scaffolds&lt;br /&gt;
:&amp;quot;-noreduce&amp;quot; - turns off graph simplification routines (see below)&lt;br /&gt;
:&amp;quot;-redundancy X&amp;quot; - same as above - ignore edges with less than X links&lt;br /&gt;
:&amp;quot;-repeats filename&amp;quot; - ignores repeats listed in &amp;quot;filename&amp;quot; (one contig ID per line) as generated, e.g. by the MarkRepeats :program described above.&lt;br /&gt;
:&amp;quot;-aggressive&amp;quot; - aggressive scaffolding - by default links that are stretched by more than 3 standard deviations are ignored. Aggressive option turns this feature off and tries to reconcile the scaffold as best possible.&lt;br /&gt;
&lt;br /&gt;
* Linearize the scaffolds (if desired). By default Bambus 2 produces non-linear graph-based scaffolds. If fasta output is desired, it is necessary to linearize the scaffolds.&lt;br /&gt;
 untangle -e myscaff.evidence.xml -s myscaff.out.xml -o myscaff.untangle.xml&lt;br /&gt;
&lt;br /&gt;
* Output fasta result (if desired). This involves two steps, the first to generating the fasta file representing the contigs and the second combines them, separated by Ns, into a scaffold fasta file.&lt;br /&gt;
 bank2fasta -d -b myproj.bnk &amp;gt; contigs.fasta&lt;br /&gt;
 printScaff -e myscaff.evidence.xml -s myscaff.untangle.xml -l myscaff.library -f contigs.fasta -merge -o myscaff&lt;br /&gt;
&lt;br /&gt;
== Outputs ==&lt;br /&gt;
The output of the OrientContigs program is a collection of scaffolds stored in the bank. The program also generates several files starting with the specified prefix&lt;br /&gt;
*myScaff.agp&lt;br /&gt;
**The scaffolds generated by the OrientContigs programs in NCBI AGP format&lt;br /&gt;
*myScaff.dot&lt;br /&gt;
**The scaffolds generated by the OrientContigs program in Graphviz dot format. It can be converted to a PostScript or PDF file using the dot program in the Graphviz package.&lt;br /&gt;
*myScaff.evidence.xml&lt;br /&gt;
*myScaff.library&lt;br /&gt;
*myScaff.out.xml&lt;br /&gt;
**The scaffolds generated by the OrientContigs program compatible with the Bambus 1 format.&lt;br /&gt;
*myScaff.fasta&lt;br /&gt;
**The fasta file of the scaffolds, joined by Ns&lt;br /&gt;
*myScaff.stats&lt;br /&gt;
**Statistics on the scaffolds generated, including N50 and total span.&lt;br /&gt;
&lt;br /&gt;
=== Scaffold simplifications ===&lt;br /&gt;
By default (unless option &amp;quot;-noreduce&amp;quot; is provided) the OrientContigs program simplifies certain&lt;br /&gt;
graph patterns:&lt;br /&gt;
* simple paths&lt;br /&gt;
* bubbles&lt;br /&gt;
** These patterns are iteratively merged into single contigs until no additional simplifications can be made.&lt;/div&gt;</summary>
		<author><name>Dmb000006</name></author>	</entry>

	<entry>
		<id>http://amos.sourceforge.net/wiki/index.php/User_talk:Dmb000006</id>
		<title>User talk:Dmb000006</title>
		<link rel="alternate" type="text/html" href="http://amos.sourceforge.net/wiki/index.php/User_talk:Dmb000006"/>
				<updated>2010-12-16T11:37:44Z</updated>
		
		<summary type="html">&lt;p&gt;Dmb000006: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Get me at: [mailto:dan.bolser@gmail.com dan.bolser@gmail.com]&lt;/div&gt;</summary>
		<author><name>Dmb000006</name></author>	</entry>

	<entry>
		<id>http://amos.sourceforge.net/wiki/index.php/User_talk:Dmb000006</id>
		<title>User talk:Dmb000006</title>
		<link rel="alternate" type="text/html" href="http://amos.sourceforge.net/wiki/index.php/User_talk:Dmb000006"/>
				<updated>2010-12-16T11:36:48Z</updated>
		
		<summary type="html">&lt;p&gt;Dmb000006: Created page with &amp;#039;Get me at: dan.bolser@gmail.com&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Get me at: dan.bolser@gmail.com&lt;/div&gt;</summary>
		<author><name>Dmb000006</name></author>	</entry>

	<entry>
		<id>http://amos.sourceforge.net/wiki/index.php/User:Dmb000006</id>
		<title>User:Dmb000006</title>
		<link rel="alternate" type="text/html" href="http://amos.sourceforge.net/wiki/index.php/User:Dmb000006"/>
				<updated>2010-12-16T11:34:43Z</updated>
		
		<summary type="html">&lt;p&gt;Dmb000006: Created page with &amp;#039;http://openwetware.org/wiki/User:Dan_Bolser&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;http://openwetware.org/wiki/User:Dan_Bolser&lt;/div&gt;</summary>
		<author><name>Dmb000006</name></author>	</entry>

	<entry>
		<id>http://amos.sourceforge.net/wiki/index.php/Bambus_2.0</id>
		<title>Bambus 2.0</title>
		<link rel="alternate" type="text/html" href="http://amos.sourceforge.net/wiki/index.php/Bambus_2.0"/>
				<updated>2010-12-16T11:33:36Z</updated>
		
		<summary type="html">&lt;p&gt;Dmb000006: Redirected page to Bambus2&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Bambus2]]&lt;/div&gt;</summary>
		<author><name>Dmb000006</name></author>	</entry>

	<entry>
		<id>http://amos.sourceforge.net/wiki/index.php/Bambus_2.0/quick_start_guide</id>
		<title>Bambus 2.0/quick start guide</title>
		<link rel="alternate" type="text/html" href="http://amos.sourceforge.net/wiki/index.php/Bambus_2.0/quick_start_guide"/>
				<updated>2010-12-16T11:31:52Z</updated>
		
		<summary type="html">&lt;p&gt;Dmb000006: Created page with &amp;#039;This is a copy of the Bambus 2 user guide taken (and improved) from here: http://www.cbcb.umd.edu/software/bambus/doc/HowToBambus2.pdf  See also: http://www.cbcb.umd.edu/software…&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a copy of the Bambus 2 user guide taken (and improved) from here: http://www.cbcb.umd.edu/software/bambus/doc/HowToBambus2.pdf&lt;br /&gt;
&lt;br /&gt;
See also: http://www.cbcb.umd.edu/software/bambus&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==How to run Bambus 2.0==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Caveat:&amp;#039;&amp;#039;&amp;#039; Bambus is still being actively developed and the code is currently in the &amp;quot;user beware&amp;quot; and &amp;quot;for experts only&amp;quot; stage.&lt;br /&gt;
&lt;br /&gt;
=== Step 1. Install the AMOS package - Bambus 2.0 is part of it. ===&lt;br /&gt;
See http://sourceforge.net/apps/mediawiki/amos/index.php?title=AMOS_Getting_Started&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; since Bambus is still under active development you should pull the latest unofficial release of AMOS directly from the CVS repository - see instructions at: http://sourceforge.net/apps/mediawiki/amos/index.php?title=Programmer%27s_guide&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Step 2. What information you need ===&lt;br /&gt;
Bambus needs to know about the contigs produced by the assembler and information about how these contigs are linked to each other. In AMOS terms, the basic information necessary are a list of contigs (http://amos.sourceforge.net/docs/api/classAMOS_1_1Contig__t.html) and a list of contig links (http://amos.sourceforge.net/docs/api/classAMOS_1_1ContigLink__t.html) or contig edges (http://amos.sourceforge.net/docs/api/classAMOS_1_1ContigEdge__t.html - bundles of consistent contig links) indicating the relative placement of pairs of contigs.&lt;br /&gt;
&lt;br /&gt;
These data can either be provided to Bambus directly in the form of a AMOS message file (see http://sourceforge.net/apps/mediawiki/amos/index.php?title=Message_Types) or inferred from mate-pair information as described below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Running Bambus 2.0 ==&lt;br /&gt;
* First, add the .afg file built as described above (for other conversion utilities see: http://sourceforge.net/apps/mediawiki/amos/index.php?title=File_conversion_utilities) to an AMOS bank (flat-file database):&lt;br /&gt;
 bank-transact -cf myproj.bnk -m myfile.afg&lt;br /&gt;
&lt;br /&gt;
* Use the mate-pair information to construct a collection of contig links.&lt;br /&gt;
 clk -b myproj.bnk&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; that you can also construct these links with your own custom software and upload them into the bank in which case you would skip the &amp;quot;clk&amp;quot; command.&lt;br /&gt;
&lt;br /&gt;
* Bundle the contig links into a collection of contig edges.&lt;br /&gt;
 Bundler -b myproj.bnk&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; as with the clk command you might want to build the contig edges separately and upload them into the bank using your own software.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; the Bundler command also accepts the command line parameter &amp;quot;-t&amp;quot; followed by a list of edge types as defined in src/AMOS/Link_AMOS.hh. Currently the following types are defined: M- mate-pair, O - overlap, P - physical, A - alignment, S - synteny, X - other.&lt;br /&gt;
&lt;br /&gt;
* Identify genomic repeats and output them to std out&lt;br /&gt;
 MarkRepeats -b myproj.bnk [-redundancy X -aggressive] &amp;gt; myRepeats&lt;br /&gt;
&lt;br /&gt;
Optional parameters:&lt;br /&gt;
:&amp;quot;-redundancy X&amp;quot; only uses contig edges comprising X or more contig links&lt;br /&gt;
:&amp;quot;-aggressive&amp;quot; - aggressive repeat identification based on global depth of coverage statistics (default procedure relies on graph analysis rather than coverage statistics)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; this program requires the boost library&lt;br /&gt;
&lt;br /&gt;
* Order and orient contigs according to repeat and link information&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;IMPORTANT:&amp;#039;&amp;#039;&amp;#039; several of the operations performed by this program destructively modify the bank (changes cannot be undone). You should make a copy of the bank prior to running OrientContigs.&lt;br /&gt;
&lt;br /&gt;
 OrientContigs -b myproj.bnk -prefix myscaff&lt;br /&gt;
&lt;br /&gt;
:&amp;quot;-prefix&amp;quot; specifies the prefix for all output files&lt;br /&gt;
&lt;br /&gt;
Optional parameters:&lt;br /&gt;
:&amp;quot;-all&amp;quot; - output unlinked contigs as scaffolds&lt;br /&gt;
:&amp;quot;-noreduce&amp;quot; - turns off graph simplification routines (see below)&lt;br /&gt;
:&amp;quot;-redundancy X&amp;quot; - same as above - ignore edges with less than X links&lt;br /&gt;
:&amp;quot;-repeats filename&amp;quot; - ignores repeats listed in &amp;quot;filename&amp;quot; (one contig ID per line) as generated, e.g. by the MarkRepeats :program described above.&lt;br /&gt;
:&amp;quot;-aggressive&amp;quot; - aggressive scaffolding - by default links that are stretched by more than 3 standard deviations are ignored. Aggressive option turns this feature off and tries to reconcile the scaffold as best possible.&lt;br /&gt;
&lt;br /&gt;
* Linearize the scaffolds (if desired). By default Bambus 2 produces non-linear graph-based scaffolds. If fasta output is desired, it is necessary to linearize the scaffolds.&lt;br /&gt;
 untangle -e myscaff.evidence.xml -s myscaff.out.xml -o myscaff.untangle.xml&lt;br /&gt;
&lt;br /&gt;
* Output fasta result (if desired). This involves two steps, the first to generating the fasta file representing the contigs and the second combines them, separated by Ns, into a scaffold fasta file.&lt;br /&gt;
 bank2fasta -d -b myproj.bnk &amp;gt; contigs.fasta&lt;br /&gt;
 printScaff -e myscaff.evidence.xml -s myscaff.untangle.xml -l myscaff.library -f contigs.fasta -merge -o myscaff&lt;br /&gt;
&lt;br /&gt;
== Outputs ==&lt;br /&gt;
The output of the OrientContigs program is a collection of scaffolds stored in the bank. The program also generates several files starting with the specified prefix&lt;br /&gt;
*myScaff.agp&lt;br /&gt;
**The scaffolds generated by the OrientContigs programs in NCBI AGP format&lt;br /&gt;
*myScaff.dot&lt;br /&gt;
**The scaffolds generated by the OrientContigs program in Graphviz dot format. It can be converted to a PostScript or PDF file using the dot program in the Graphviz package.&lt;br /&gt;
*myScaff.evidence.xml&lt;br /&gt;
*myScaff.library&lt;br /&gt;
*myScaff.out.xml&lt;br /&gt;
*The scaffolds generated by the OrientContigs program compatible with the Bambus 1 format.&lt;br /&gt;
*myScaff.fasta&lt;br /&gt;
**The fasta file of the scaffolds, joined by Ns&lt;br /&gt;
*myScaff.stats&lt;br /&gt;
**Statistics on the scaffolds generated, including N50 and total span.&lt;br /&gt;
&lt;br /&gt;
=== Scaffold simplifications ===&lt;br /&gt;
By default (unless option &amp;quot;-noreduce&amp;quot; is provided) the OrientContigs program simplifies certain&lt;br /&gt;
graph patterns:&lt;br /&gt;
* simple paths&lt;br /&gt;
* bubbles&lt;br /&gt;
** These patterns are iteratively merged into single contigs until no additional simplifications can be made.&lt;/div&gt;</summary>
		<author><name>Dmb000006</name></author>	</entry>

	<entry>
		<id>http://amos.sourceforge.net/wiki/index.php/Bambus2</id>
		<title>Bambus2</title>
		<link rel="alternate" type="text/html" href="http://amos.sourceforge.net/wiki/index.php/Bambus2"/>
				<updated>2010-12-16T11:20:47Z</updated>
		
		<summary type="html">&lt;p&gt;Dmb000006: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Getting data into Bambus 2 can be a pain. Here is my recipe:&lt;br /&gt;
&lt;br /&gt;
 [[toAmos]] \&lt;br /&gt;
  -s my.fa \&lt;br /&gt;
  -c my.contig \&lt;br /&gt;
  -m my.mates \&lt;br /&gt;
  -o my.afg&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You need the .fa to list the contigs within the GFD-like contig file (annoying but true). You don&amp;#039;t need accurate sequences in the .fa, you just need something to make the format valid. The .contig and .mates are as expected for [[Bambus]].&lt;br /&gt;
&lt;br /&gt;
The resulting .afg is then &amp;#039;banked&amp;#039; with:&lt;br /&gt;
&lt;br /&gt;
 [[bank-transact]] -c \&lt;br /&gt;
  -b my.bnk \&lt;br /&gt;
  -m my.afg&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For more details, see the info here: http://www.cbcb.umd.edu/software/bambus/, which I have dumped here [[Bambus 2.0/quick start guide]].&lt;/div&gt;</summary>
		<author><name>Dmb000006</name></author>	</entry>

	<entry>
		<id>http://amos.sourceforge.net/wiki/index.php/Bambus2</id>
		<title>Bambus2</title>
		<link rel="alternate" type="text/html" href="http://amos.sourceforge.net/wiki/index.php/Bambus2"/>
				<updated>2010-12-16T09:14:02Z</updated>
		
		<summary type="html">&lt;p&gt;Dmb000006: Created page with &amp;#039;Getting data into Bambus 2 can be a pain. Here is my recipe:   toAmos \   -s my.fa \   -c my.contig \   -m my.mates \   -o my.afg   You need the .fa to list the contigs withi…&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Getting data into Bambus 2 can be a pain. Here is my recipe:&lt;br /&gt;
&lt;br /&gt;
 [[toAmos]] \&lt;br /&gt;
  -s my.fa \&lt;br /&gt;
  -c my.contig \&lt;br /&gt;
  -m my.mates \&lt;br /&gt;
  -o my.afg&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You need the .fa to list the contigs within the GFD-like contig file (annoying but true). You don&amp;#039;t need accurate sequences in the .fa, you just need something to make the format valid. The .contig and .mates are as expected for [[Bambus]].&lt;br /&gt;
&lt;br /&gt;
The resulting .afg is then &amp;#039;banked&amp;#039; with:&lt;br /&gt;
&lt;br /&gt;
 [[bank-transact]] -c \&lt;br /&gt;
  -b my.bnk \&lt;br /&gt;
  -m my.afg&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For more details, see the info here: http://www.cbcb.umd.edu/software/bambus/&lt;/div&gt;</summary>
		<author><name>Dmb000006</name></author>	</entry>

	<entry>
		<id>http://amos.sourceforge.net/wiki/index.php/ToAmos</id>
		<title>ToAmos</title>
		<link rel="alternate" type="text/html" href="http://amos.sourceforge.net/wiki/index.php/ToAmos"/>
				<updated>2010-12-14T18:12:30Z</updated>
		
		<summary type="html">&lt;p&gt;Dmb000006: /* Options */  link for gde-like format contig file&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;toAmos: converter from various types of inputs to AMOS messages&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
toAmos is primarily designed for converting the output of an assembly program into the AMOS format so that it can be stored in an AMOS bank.  toAmos can be used as a replacement for tarchive2amos however the latter is more flexible when converting from Trace Archive or simple .seq and .qual inputs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Synopsis ==&lt;br /&gt;
&lt;br /&gt;
 toAmos -o out_file &lt;br /&gt;
        (-s fasta_reads (-q qual_file) (-gq good_qual) (-bq bad_qual))&lt;br /&gt;
        (-c tigr_contig | -a celera_asm [-S][-utg] | -ta tigr_asm | -ace phrap_ace [-phd])&lt;br /&gt;
        (-m bambus_mates | -x trace_xml | -f celera_frg [-acc])&lt;br /&gt;
        (-arachne arachne_links | -scaff bambus_scaff)&lt;br /&gt;
        (-i insert_file | -map dst_map)&lt;br /&gt;
        (-pos pos_file)&lt;br /&gt;
        (-id min_id)&lt;br /&gt;
&lt;br /&gt;
toAmos reads the inputs specified on the command line and converts the information into AMOS message format.  The following types of information can be provided to toAmos:&lt;br /&gt;
&lt;br /&gt;
* Sequence and quality data (options -f, -s,  -q, -gq, or -bq)&lt;br /&gt;
* Library and mate-pair data (options -m, -x, -f, -i,  or  -map)&lt;br /&gt;
* Contig  data (options -c, -a, -ta, or -ace)&lt;br /&gt;
* Scaffold data (option -a)&lt;br /&gt;
&lt;br /&gt;
== Options ==&lt;br /&gt;
{| class=&amp;quot;somecssclass&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 | -o &amp;lt;out_file&amp;gt;    || output filename (&amp;#039;-&amp;#039; for standard output)&lt;br /&gt;
 |-&lt;br /&gt;
 | -s &amp;lt;fasta_reads&amp;gt; || sequence data file in FASTA format (reads names ending in .1 or /1 are taken as mate pairs)&lt;br /&gt;
 |-&lt;br /&gt;
 | -q &amp;lt;qual_file&amp;gt;   || sequence quality score file in QUAL format&lt;br /&gt;
 |-&lt;br /&gt;
 | -gq &amp;lt;bad_qual&amp;gt;   || minimum quality score for high-quality bases (default: 30) - if no quality file provided bases within clear range are assigned this quality value&lt;br /&gt;
 |-&lt;br /&gt;
 | -bq &amp;lt;good_qual&amp;gt;  || maximum quality score for  low-quality bases (default: 10) - if no quality file provided bases outside the clear range are assigned this quality value (default 10)&lt;br /&gt;
 |-&lt;br /&gt;
 | -c &amp;lt;tigr_contig&amp;gt; || provide TIGR .contig file [http://www.cbcb.umd.edu/research/contig_representation.shtml in GDE-like format]&lt;br /&gt;
 |-&lt;br /&gt;
 | -a &amp;lt;celera_asm&amp;gt;  || use Celera Assembler .asm contig file (contig and scaffold information)&lt;br /&gt;
 |-&lt;br /&gt;
 | -S               || include the surrogate unitigs in the .asm file as AMOS contigs&lt;br /&gt;
 |-&lt;br /&gt;
 | -utg             || include all UTG unitig messages in the .asm file as AMOS contigs&lt;br /&gt;
 |-&lt;br /&gt;
 | -ta &amp;lt;tigr_asm&amp;gt;   || contig file in TIGR Assembler format (.tasm)&lt;br /&gt;
 |-&lt;br /&gt;
 | -ace &amp;lt;phrap_ace&amp;gt; || contig file in Phred ACE format (can be accompanied by -q)&lt;br /&gt;
 |-&lt;br /&gt;
 | -phd             || read the content of PHD file referenced in ACE files&lt;br /&gt;
 |-&lt;br /&gt;
 | -m &amp;lt;bambus_mates&amp;gt; || library and mate-pair information file in Bambus format&lt;br /&gt;
 |-&lt;br /&gt;
 | -x &amp;lt;trace_xml&amp;gt;   || ancilliary data file (library, mate-pair, clear range) in Trace Archive XML format&lt;br /&gt;
 |-&lt;br /&gt;
 | -f &amp;lt;celera_frg&amp;gt;  || library, mate-pair, sequence, quality, and clear range data file in Celera Assembler format&lt;br /&gt;
 |-&lt;br /&gt;
 | -acc             || use accession numbers in FRG files&lt;br /&gt;
 |-&lt;br /&gt;
 | -arachne &amp;lt;arachne_links&amp;gt; || scaffold file in Arachne .links format&lt;br /&gt;
 |-&lt;br /&gt;
 | -scaff &amp;lt;bambus_scaff&amp;gt; || scaffold file in Bambus .scaff format&lt;br /&gt;
 |-&lt;br /&gt;
 | -map &amp;lt;dst_map&amp;gt;   || read map information - mapping from internal library ID to external library ID useful in conjunction with the -f option.  This file consists of space-separated records providing a mapping from the &amp;quot;acc:&amp;quot; field in &amp;quot;DST&amp;quot; records within the .frg file to an externally recognizable name for each library.&lt;br /&gt;
 |-&lt;br /&gt;
 | -pos &amp;lt;pos_file&amp;gt;  || TIGR-style .pos position file&lt;br /&gt;
 |-&lt;br /&gt;
 | -id &amp;lt;min_id&amp;gt;     || start numbering contigs at this number&lt;br /&gt;
 |-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== TIGR specific options (not too useful outside TIGR) ==&lt;br /&gt;
&lt;br /&gt;
* -i &amp;lt;insert file&amp;gt;  - use mapping from internal library ID to external library ID provided in a .insert file produced by pullfrag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
&lt;br /&gt;
The -ta (TIGR Assembler input) and -ace (ACE formatted input) options have not been throughly tested and likely do not properly work.  Contact us if either of these options is important to you.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Errors ==&lt;br /&gt;
 toAmos -c my.test.contig -m my.test.mates -o my.test.afg&lt;br /&gt;
 Cannot find ID for sequence lid05.f&lt;br /&gt;
&lt;br /&gt;
This problem is caused by...&lt;/div&gt;</summary>
		<author><name>Dmb000006</name></author>	</entry>

	<entry>
		<id>http://amos.sourceforge.net/wiki/index.php/ToAmos</id>
		<title>ToAmos</title>
		<link rel="alternate" type="text/html" href="http://amos.sourceforge.net/wiki/index.php/ToAmos"/>
				<updated>2010-12-14T18:11:26Z</updated>
		
		<summary type="html">&lt;p&gt;Dmb000006: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;toAmos: converter from various types of inputs to AMOS messages&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
toAmos is primarily designed for converting the output of an assembly program into the AMOS format so that it can be stored in an AMOS bank.  toAmos can be used as a replacement for tarchive2amos however the latter is more flexible when converting from Trace Archive or simple .seq and .qual inputs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Synopsis ==&lt;br /&gt;
&lt;br /&gt;
 toAmos -o out_file &lt;br /&gt;
        (-s fasta_reads (-q qual_file) (-gq good_qual) (-bq bad_qual))&lt;br /&gt;
        (-c tigr_contig | -a celera_asm [-S][-utg] | -ta tigr_asm | -ace phrap_ace [-phd])&lt;br /&gt;
        (-m bambus_mates | -x trace_xml | -f celera_frg [-acc])&lt;br /&gt;
        (-arachne arachne_links | -scaff bambus_scaff)&lt;br /&gt;
        (-i insert_file | -map dst_map)&lt;br /&gt;
        (-pos pos_file)&lt;br /&gt;
        (-id min_id)&lt;br /&gt;
&lt;br /&gt;
toAmos reads the inputs specified on the command line and converts the information into AMOS message format.  The following types of information can be provided to toAmos:&lt;br /&gt;
&lt;br /&gt;
* Sequence and quality data (options -f, -s,  -q, -gq, or -bq)&lt;br /&gt;
* Library and mate-pair data (options -m, -x, -f, -i,  or  -map)&lt;br /&gt;
* Contig  data (options -c, -a, -ta, or -ace)&lt;br /&gt;
* Scaffold data (option -a)&lt;br /&gt;
&lt;br /&gt;
== Options ==&lt;br /&gt;
{| class=&amp;quot;somecssclass&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 | -o &amp;lt;out_file&amp;gt;    || output filename (&amp;#039;-&amp;#039; for standard output)&lt;br /&gt;
 |-&lt;br /&gt;
 | -s &amp;lt;fasta_reads&amp;gt; || sequence data file in FASTA format (reads names ending in .1 or /1 are taken as mate pairs)&lt;br /&gt;
 |-&lt;br /&gt;
 | -q &amp;lt;qual_file&amp;gt;   || sequence quality score file in QUAL format&lt;br /&gt;
 |-&lt;br /&gt;
 | -gq &amp;lt;bad_qual&amp;gt;   || minimum quality score for high-quality bases (default: 30) - if no quality file provided bases within clear range are assigned this quality value&lt;br /&gt;
 |-&lt;br /&gt;
 | -bq &amp;lt;good_qual&amp;gt;  || maximum quality score for  low-quality bases (default: 10) - if no quality file provided bases outside the clear range are assigned this quality value (default 10)&lt;br /&gt;
 |-&lt;br /&gt;
 | -c &amp;lt;tigr_contig&amp;gt; || provide TIGR .contig file&lt;br /&gt;
 |-&lt;br /&gt;
 | -a &amp;lt;celera_asm&amp;gt;  || use Celera Assembler .asm contig file (contig and scaffold information)&lt;br /&gt;
 |-&lt;br /&gt;
 | -S               || include the surrogate unitigs in the .asm file as AMOS contigs&lt;br /&gt;
 |-&lt;br /&gt;
 | -utg             || include all UTG unitig messages in the .asm file as AMOS contigs&lt;br /&gt;
 |-&lt;br /&gt;
 | -ta &amp;lt;tigr_asm&amp;gt;   || contig file in TIGR Assembler format (.tasm) [http://www.cbcb.umd.edu/research/contig_representation.shtml]&lt;br /&gt;
 |-&lt;br /&gt;
 | -ace &amp;lt;phrap_ace&amp;gt; || contig file in Phred ACE format (can be accompanied by -q)&lt;br /&gt;
 |-&lt;br /&gt;
 | -phd             || read the content of PHD file referenced in ACE files&lt;br /&gt;
 |-&lt;br /&gt;
 | -m &amp;lt;bambus_mates&amp;gt; || library and mate-pair information file in Bambus format&lt;br /&gt;
 |-&lt;br /&gt;
 | -x &amp;lt;trace_xml&amp;gt;   || ancilliary data file (library, mate-pair, clear range) in Trace Archive XML format&lt;br /&gt;
 |-&lt;br /&gt;
 | -f &amp;lt;celera_frg&amp;gt;  || library, mate-pair, sequence, quality, and clear range data file in Celera Assembler format&lt;br /&gt;
 |-&lt;br /&gt;
 | -acc             || use accession numbers in FRG files&lt;br /&gt;
 |-&lt;br /&gt;
 | -arachne &amp;lt;arachne_links&amp;gt; || scaffold file in Arachne .links format&lt;br /&gt;
 |-&lt;br /&gt;
 | -scaff &amp;lt;bambus_scaff&amp;gt; || scaffold file in Bambus .scaff format&lt;br /&gt;
 |-&lt;br /&gt;
 | -map &amp;lt;dst_map&amp;gt;   || read map information - mapping from internal library ID to external library ID useful in conjunction with the -f option.  This file consists of space-separated records providing a mapping from the &amp;quot;acc:&amp;quot; field in &amp;quot;DST&amp;quot; records within the .frg file to an externally recognizable name for each library.&lt;br /&gt;
 |-&lt;br /&gt;
 | -pos &amp;lt;pos_file&amp;gt;  || TIGR-style .pos position file&lt;br /&gt;
 |-&lt;br /&gt;
 | -id &amp;lt;min_id&amp;gt;     || start numbering contigs at this number&lt;br /&gt;
 |-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== TIGR specific options (not too useful outside TIGR) ==&lt;br /&gt;
&lt;br /&gt;
* -i &amp;lt;insert file&amp;gt;  - use mapping from internal library ID to external library ID provided in a .insert file produced by pullfrag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
&lt;br /&gt;
The -ta (TIGR Assembler input) and -ace (ACE formatted input) options have not been throughly tested and likely do not properly work.  Contact us if either of these options is important to you.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Errors ==&lt;br /&gt;
 toAmos -c my.test.contig -m my.test.mates -o my.test.afg&lt;br /&gt;
 Cannot find ID for sequence lid05.f&lt;br /&gt;
&lt;br /&gt;
This problem is caused by...&lt;/div&gt;</summary>
		<author><name>Dmb000006</name></author>	</entry>

	<entry>
		<id>http://amos.sourceforge.net/wiki/index.php/Bank2contig</id>
		<title>Bank2contig</title>
		<link rel="alternate" type="text/html" href="http://amos.sourceforge.net/wiki/index.php/Bank2contig"/>
				<updated>2010-12-14T18:10:44Z</updated>
		
		<summary type="html">&lt;p&gt;Dmb000006: Link to contig formats and wp style&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;bank2contig&amp;#039;&amp;#039;&amp;#039; is a general converter from AMOS banks into a variety of other contig formats.&lt;br /&gt;
&lt;br /&gt;
For descriptions of format, see [http://www.cbcb.umd.edu/research/contig_representation.shtml]&lt;br /&gt;
&lt;br /&gt;
== TIGR Assembler / GDE Contig Format ==&lt;br /&gt;
&lt;br /&gt;
The .contig format is a simple text format for encoding read to contig alignments. This is the default output format for bank2contig. The layout format (-L) is the same as the contig format, except no sequence information is written. This is useful for listing the reads in each contig, their positions, clear ranges, etc.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
 ##56487 19 1623 bases, 00000000 checksum.&lt;br /&gt;
 TTAGACCCAGGAGAAG-CATAAAATTTTCAGAGCCATCTGATGTAGGAGGAAGTTATGAA&lt;br /&gt;
 #000035230611N10F(0) [RC] 711 bases, 00000000 checksum. {720 10} &amp;lt;1 710&amp;gt;&lt;br /&gt;
 TTAGACCCAGGAGAAG-CATAAAATTTTCAGAGCCATCTGATGTAGGAGGAAGTTATGAA&lt;br /&gt;
&lt;br /&gt;
* Each contig is preceded by a header starting with ##, followed by the contig identifier, number of reads aligned to it, and the number of bases in the padded consensus.  If generated by TIGR Assembler, these records also contain an 8-digit checksum, however most converters generate a blank checksum (it&amp;#039;s not used by any code anyway).&lt;br /&gt;
&lt;br /&gt;
* The contig sequence, listed after the &amp;quot;##&amp;quot; header, is padded with the gap character.&lt;br /&gt;
&lt;br /&gt;
* Each read aligned to the consensus is preceded by a header starting with a single &amp;quot;#&amp;quot; character.  Provided in parantheses, is the 0-based offset of the read in the consensus.   Within the square brackets the string &amp;quot;RC&amp;quot; indicates the read was reverse complemented, a fact also indicated in the representation of the clear range within the braces ({720 10}).  The clear range is 1-based with respect to the unpadded/ungapped read sequence.  Note the low number is 10, meaning the first 9 bases (1-9) have been trimmed from the beginning (5&amp;#039; end) of the read. There may also be bases trimmed at the end of the read (3&amp;#039; end) beyond base 720, but this format does not record how many bases there are. Next comes the coordinates of the read along the ungapped 1-based consensus are provided within angle brackets (&amp;lt;1 710&amp;gt;). This header also contains a checksum (largely ignored) and information about the number of bases following it.&lt;br /&gt;
&lt;br /&gt;
* After the read header, the aligned section of the read (the bases within the clear range alone) is provided in padded form, and in the correct orientation (complemented if necessary).  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SAM Conversion ==&lt;br /&gt;
The [http://samtools.sf.net SAM (Sequence Alignment/Map)] format is a generic format for storing large nucleotide sequence alignments, used in the 1000 genomes project and many others.&lt;br /&gt;
&lt;br /&gt;
bank2contig is a basic converter from the AMOS assembly format into SAM format. It works from AMOS Banks (indexed binary format), and outputs the assembled reads with extended CIGAR strings compatible with the samtools library. At this time it does not convert mate or library information, but should be sufficient for analyzing &amp;amp; visualizing the read to contig alignments from a variety of assembly formats, including AMOS, Celera Assembler, phrap, velvet, etc.&lt;br /&gt;
&lt;br /&gt;
The basic steps are:&lt;br /&gt;
&lt;br /&gt;
1. Create AMOS AFG file: AMOScmp, Minimus, &amp;amp; velvet automatically create AFG files&lt;br /&gt;
&lt;br /&gt;
 # Or convert ACE File&lt;br /&gt;
 $ toAmos -ace data.ace -o data.afg&lt;br /&gt;
 &lt;br /&gt;
 # Or convert Celera Assembler&lt;br /&gt;
 $ toAmos -frg data.frg -a data.asm -o data.afg&lt;br /&gt;
&lt;br /&gt;
2. Create AMOS bank&lt;br /&gt;
 $ bank-transact -m data.afg -b data.bnk -c&lt;br /&gt;
&lt;br /&gt;
3. Create contig fasta &amp;amp; SAM alignment file&lt;br /&gt;
 $ bank2fasta -i -b data.bnk &amp;gt; data.fa&lt;br /&gt;
 $ bank2contig -i -s data.bnk &amp;gt; data.sam&lt;br /&gt;
&lt;br /&gt;
5. Load with samtools and view alignments&lt;br /&gt;
 $ samtools faidx data.fa                            # index the contig FASTA&lt;br /&gt;
 $ samtools import data.fa.fai data.sam data.bam     # SAM-&amp;gt;BAM&lt;br /&gt;
 $ samtools index data.bam                           # index BAM&lt;br /&gt;
 $ samtools tview data.bam data.fa                   # view alignments&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DNPTrapper ==&lt;br /&gt;
&lt;br /&gt;
[http://dnptrapper.sourceforge.net/ DNPTrapper] is an assembly editing and visualization tool specifically designed for manual analysis and finishing of repeated regions. It differs from previous tools by providing flexibility and an overview that greatly simplifies the finishing process, by allowing the user to view whole repeat regions at once and to edit assembly errors manually by drag and drop. The program implements and visualizes the results of a previously described statistical method that detects defined nucleotide positions (DNPs, representing single base differences between repeat units) in the presence of sequencing errors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
&lt;br /&gt;
 bank2contig -T data.bnk &amp;gt; data.xml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Simple Layout ==&lt;br /&gt;
&lt;br /&gt;
The simple layout format (-S) is a simple tab deliminated file with the ids of the reads in the contig. The fields are:&lt;br /&gt;
&lt;br /&gt;
 1. contig id&lt;br /&gt;
 2. contig status&lt;br /&gt;
 3. read id&lt;br /&gt;
 4. reverse complement flag (0/1)&lt;br /&gt;
 5. read offset (0-based gapped offset)&lt;/div&gt;</summary>
		<author><name>Dmb000006</name></author>	</entry>

	<entry>
		<id>http://amos.sourceforge.net/wiki/index.php/ToAmos</id>
		<title>ToAmos</title>
		<link rel="alternate" type="text/html" href="http://amos.sourceforge.net/wiki/index.php/ToAmos"/>
				<updated>2010-12-14T18:06:40Z</updated>
		
		<summary type="html">&lt;p&gt;Dmb000006: The -i option is decribed in it&amp;#039;s own section below&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;toAmos: converter from various types of inputs to AMOS messages&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
toAmos is primarily designed for converting the output of an assembly program into the AMOS format so that it can be stored in an AMOS bank.  toAmos can be used as a replacement for tarchive2amos however the latter is more flexible when converting from Trace Archive or simple .seq and .qual inputs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Synopsis ==&lt;br /&gt;
&lt;br /&gt;
 toAmos -o out_file &lt;br /&gt;
        (-s fasta_reads (-q qual_file) (-gq good_qual) (-bq bad_qual))&lt;br /&gt;
        (-c tigr_contig | -a celera_asm [-S][-utg] | -ta tigr_asm | -ace phrap_ace [-phd])&lt;br /&gt;
        (-m bambus_mates | -x trace_xml | -f celera_frg [-acc])&lt;br /&gt;
        (-arachne arachne_links | -scaff bambus_scaff)&lt;br /&gt;
        (-i insert_file | -map dst_map)&lt;br /&gt;
        (-pos pos_file)&lt;br /&gt;
        (-id min_id)&lt;br /&gt;
&lt;br /&gt;
toAmos reads the inputs specified on the command line and converts the information into AMOS message format.  The following types of information can be provided to toAmos:&lt;br /&gt;
&lt;br /&gt;
* Sequence and quality data (options -f, -s,  -q, -gq, or -bq)&lt;br /&gt;
* Library and mate-pair data (options -m, -x, -f, -i,  or  -map)&lt;br /&gt;
* Contig  data (options -c, -a, -ta, or -ace)&lt;br /&gt;
* Scaffold data (option -a)&lt;br /&gt;
&lt;br /&gt;
== Options ==&lt;br /&gt;
{| class=&amp;quot;somecssclass&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 | -o &amp;lt;out_file&amp;gt;    || output filename (&amp;#039;-&amp;#039; for standard output)&lt;br /&gt;
 |-&lt;br /&gt;
 | -s &amp;lt;fasta_reads&amp;gt; || sequence data file in FASTA format (reads names ending in .1 or /1 are taken as mate pairs)&lt;br /&gt;
 |-&lt;br /&gt;
 | -q &amp;lt;qual_file&amp;gt;   || sequence quality score file in QUAL format&lt;br /&gt;
 |-&lt;br /&gt;
 | -gq &amp;lt;bad_qual&amp;gt;   || minimum quality score for high-quality bases (default: 30) - if no quality file provided bases within clear range are assigned this quality value&lt;br /&gt;
 |-&lt;br /&gt;
 | -bq &amp;lt;good_qual&amp;gt;  || maximum quality score for  low-quality bases (default: 10) - if no quality file provided bases outside the clear range are assigned this quality value (default 10)&lt;br /&gt;
 |-&lt;br /&gt;
 | -c &amp;lt;tigr_contig&amp;gt; || provide TIGR .contig file&lt;br /&gt;
 |-&lt;br /&gt;
 | -a &amp;lt;celera_asm&amp;gt;  || use Celera Assembler .asm contig file (contig and scaffold information)&lt;br /&gt;
 |-&lt;br /&gt;
 | -S               || include the surrogate unitigs in the .asm file as AMOS contigs&lt;br /&gt;
 |-&lt;br /&gt;
 | -utg             || include all UTG unitig messages in the .asm file as AMOS contigs&lt;br /&gt;
 |-&lt;br /&gt;
 | -ta &amp;lt;tigr_asm&amp;gt;   || contig file in TIGR Assembler format (.tasm)&lt;br /&gt;
 |-&lt;br /&gt;
 | -ace &amp;lt;phrap_ace&amp;gt; || contig file in Phred ACE format (can be accompanied by -q)&lt;br /&gt;
 |-&lt;br /&gt;
 | -phd             || read the content of PHD file referenced in ACE files&lt;br /&gt;
 |-&lt;br /&gt;
 | -m &amp;lt;bambus_mates&amp;gt; || library and mate-pair information file in Bambus format&lt;br /&gt;
 |-&lt;br /&gt;
 | -x &amp;lt;trace_xml&amp;gt;   || ancilliary data file (library, mate-pair, clear range) in Trace Archive XML format&lt;br /&gt;
 |-&lt;br /&gt;
 | -f &amp;lt;celera_frg&amp;gt;  || library, mate-pair, sequence, quality, and clear range data file in Celera Assembler format&lt;br /&gt;
 |-&lt;br /&gt;
 | -acc             || use accession numbers in FRG files&lt;br /&gt;
 |-&lt;br /&gt;
 | -arachne &amp;lt;arachne_links&amp;gt; || scaffold file in Arachne .links format&lt;br /&gt;
 |-&lt;br /&gt;
 | -scaff &amp;lt;bambus_scaff&amp;gt; || scaffold file in Bambus .scaff format&lt;br /&gt;
 |-&lt;br /&gt;
 | -map &amp;lt;dst_map&amp;gt;   || read map information - mapping from internal library ID to external library ID useful in conjunction with the -f option.  This file consists of space-separated records providing a mapping from the &amp;quot;acc:&amp;quot; field in &amp;quot;DST&amp;quot; records within the .frg file to an externally recognizable name for each library.&lt;br /&gt;
 |-&lt;br /&gt;
 | -pos &amp;lt;pos_file&amp;gt;  || TIGR-style .pos position file&lt;br /&gt;
 |-&lt;br /&gt;
 | -id &amp;lt;min_id&amp;gt;     || start numbering contigs at this number&lt;br /&gt;
 |-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== TIGR specific options (not too useful outside TIGR) ==&lt;br /&gt;
&lt;br /&gt;
* -i &amp;lt;insert file&amp;gt;  - use mapping from internal library ID to external library ID provided in a .insert file produced by pullfrag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
&lt;br /&gt;
The -ta (TIGR Assembler input) and -ace (ACE formatted input) options have not been throughly tested and likely do not properly work.  Contact us if either of these options is important to you.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Errors ==&lt;br /&gt;
 toAmos -c my.test.contig -m my.test.mates -o my.test.afg&lt;br /&gt;
 Cannot find ID for sequence lid05.f&lt;br /&gt;
&lt;br /&gt;
This problem is caused by...&lt;/div&gt;</summary>
		<author><name>Dmb000006</name></author>	</entry>

	<entry>
		<id>http://amos.sourceforge.net/wiki/index.php/ToAmos</id>
		<title>ToAmos</title>
		<link rel="alternate" type="text/html" href="http://amos.sourceforge.net/wiki/index.php/ToAmos"/>
				<updated>2010-12-14T18:04:05Z</updated>
		
		<summary type="html">&lt;p&gt;Dmb000006: /* Known issues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;toAmos: converter from various types of inputs to AMOS messages&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
toAmos is primarily designed for converting the output of an assembly program into the AMOS format so that it can be stored in an AMOS bank.  toAmos can be used as a replacement for tarchive2amos however the latter is more flexible when converting from Trace Archive or simple .seq and .qual inputs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Synopsis ==&lt;br /&gt;
&lt;br /&gt;
 toAmos -o out_file &lt;br /&gt;
        (-s fasta_reads (-q qual_file) (-gq good_qual) (-bq bad_qual))&lt;br /&gt;
        (-c tigr_contig | -a celera_asm [-S][-utg] | -ta tigr_asm | -ace phrap_ace [-phd])&lt;br /&gt;
        (-m bambus_mates | -x trace_xml | -f celera_frg [-acc])&lt;br /&gt;
        (-arachne arachne_links | -scaff bambus_scaff)&lt;br /&gt;
        (-i insert_file | -map dst_map)&lt;br /&gt;
        (-pos pos_file)&lt;br /&gt;
        (-id min_id)&lt;br /&gt;
&lt;br /&gt;
toAmos reads the inputs specified on the command line and converts the information into AMOS message format.  The following types of information can be provided to toAmos:&lt;br /&gt;
&lt;br /&gt;
* Sequence and quality data (options -f, -s,  -q, -gq, or -bq)&lt;br /&gt;
* Library and mate-pair data (options -m, -x, -f, -i,  or  -map)&lt;br /&gt;
* Contig  data (options -c, -a, -ta, or -ace)&lt;br /&gt;
* Scaffold data (option -a)&lt;br /&gt;
&lt;br /&gt;
== Options ==&lt;br /&gt;
{| class=&amp;quot;somecssclass&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 | -o &amp;lt;out_file&amp;gt;    || output filename (&amp;#039;-&amp;#039; for standard output)&lt;br /&gt;
 |-&lt;br /&gt;
 | -s &amp;lt;fasta_reads&amp;gt; || sequence data file in FASTA format (reads names ending in .1 or /1 are taken as mate pairs)&lt;br /&gt;
 |-&lt;br /&gt;
 | -q &amp;lt;qual_file&amp;gt;   || sequence quality score file in QUAL format&lt;br /&gt;
 |-&lt;br /&gt;
 | -gq &amp;lt;bad_qual&amp;gt;   || minimum quality score for high-quality bases (default: 30) - if no quality file provided bases within clear range are assigned this quality value&lt;br /&gt;
 |-&lt;br /&gt;
 | -bq &amp;lt;good_qual&amp;gt;  || maximum quality score for  low-quality bases (default: 10) - if no quality file provided bases outside the clear range are assigned this quality value (default 10)&lt;br /&gt;
 |-&lt;br /&gt;
 | -c &amp;lt;tigr_contig&amp;gt; || provide TIGR .contig file&lt;br /&gt;
 |-&lt;br /&gt;
 | -a &amp;lt;celera_asm&amp;gt;  || use Celera Assembler .asm contig file (contig and scaffold information)&lt;br /&gt;
 |-&lt;br /&gt;
 | -S               || include the surrogate unitigs in the .asm file as AMOS contigs&lt;br /&gt;
 |-&lt;br /&gt;
 | -utg             || include all UTG unitig messages in the .asm file as AMOS contigs&lt;br /&gt;
 |-&lt;br /&gt;
 | -ta &amp;lt;tigr_asm&amp;gt;   || contig file in TIGR Assembler format (.tasm)&lt;br /&gt;
 |-&lt;br /&gt;
 | -ace &amp;lt;phrap_ace&amp;gt; || contig file in Phred ACE format (can be accompanied by -q)&lt;br /&gt;
 |-&lt;br /&gt;
 | -phd             || read the content of PHD file referenced in ACE files&lt;br /&gt;
 |-&lt;br /&gt;
 | -m &amp;lt;bambus_mates&amp;gt; || library and mate-pair information file in Bambus format&lt;br /&gt;
 |-&lt;br /&gt;
 | -x &amp;lt;trace_xml&amp;gt;   || ancilliary data file (library, mate-pair, clear range) in Trace Archive XML format&lt;br /&gt;
 |-&lt;br /&gt;
 | -f &amp;lt;celera_frg&amp;gt;  || library, mate-pair, sequence, quality, and clear range data file in Celera Assembler format&lt;br /&gt;
 |-&lt;br /&gt;
 | -acc             || use accession numbers in FRG files&lt;br /&gt;
 |-&lt;br /&gt;
 | -arachne &amp;lt;arachne_links&amp;gt; || scaffold file in Arachne .links format&lt;br /&gt;
 |-&lt;br /&gt;
 | -scaff &amp;lt;bambus_scaff&amp;gt; || scaffold file in Bambus .scaff format&lt;br /&gt;
 |-&lt;br /&gt;
 | -i &amp;lt;insert_file&amp;gt; || read insert information&lt;br /&gt;
 |-&lt;br /&gt;
 | -map &amp;lt;dst_map&amp;gt;   || read map information - mapping from internal library ID to external library ID useful in conjunction with the -f option.  This file consists of space-separated records providing a mapping from the &amp;quot;acc:&amp;quot; field in &amp;quot;DST&amp;quot; records within the .frg file to an externally recognizable name for each library.&lt;br /&gt;
 |-&lt;br /&gt;
 | -pos &amp;lt;pos_file&amp;gt;  || TIGR-style .pos position file&lt;br /&gt;
 |-&lt;br /&gt;
 | -id &amp;lt;min_id&amp;gt;     || start numbering contigs at this number&lt;br /&gt;
 |-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== TIGR specific options (not too useful outside TIGR) ==&lt;br /&gt;
&lt;br /&gt;
* -i &amp;lt;insert file&amp;gt;  - use mapping from internal library ID to external library ID provided in a .insert file produced by pullfrag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
&lt;br /&gt;
The -ta (TIGR Assembler input) and -ace (ACE formatted input) options have not been throughly tested and likely do not properly work.  Contact us if either of these options is important to you.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Errors ==&lt;br /&gt;
 toAmos -c my.test.contig -m my.test.mates -o my.test.afg&lt;br /&gt;
 Cannot find ID for sequence lid05.f&lt;br /&gt;
&lt;br /&gt;
This problem is caused by...&lt;/div&gt;</summary>
		<author><name>Dmb000006</name></author>	</entry>

	<entry>
		<id>http://amos.sourceforge.net/wiki/index.php/ToAmos</id>
		<title>ToAmos</title>
		<link rel="alternate" type="text/html" href="http://amos.sourceforge.net/wiki/index.php/ToAmos"/>
				<updated>2010-12-14T18:02:47Z</updated>
		
		<summary type="html">&lt;p&gt;Dmb000006: /* Options */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;toAmos: converter from various types of inputs to AMOS messages&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
toAmos is primarily designed for converting the output of an assembly program into the AMOS format so that it can be stored in an AMOS bank.  toAmos can be used as a replacement for tarchive2amos however the latter is more flexible when converting from Trace Archive or simple .seq and .qual inputs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Synopsis ==&lt;br /&gt;
&lt;br /&gt;
 toAmos -o out_file &lt;br /&gt;
        (-s fasta_reads (-q qual_file) (-gq good_qual) (-bq bad_qual))&lt;br /&gt;
        (-c tigr_contig | -a celera_asm [-S][-utg] | -ta tigr_asm | -ace phrap_ace [-phd])&lt;br /&gt;
        (-m bambus_mates | -x trace_xml | -f celera_frg [-acc])&lt;br /&gt;
        (-arachne arachne_links | -scaff bambus_scaff)&lt;br /&gt;
        (-i insert_file | -map dst_map)&lt;br /&gt;
        (-pos pos_file)&lt;br /&gt;
        (-id min_id)&lt;br /&gt;
&lt;br /&gt;
toAmos reads the inputs specified on the command line and converts the information into AMOS message format.  The following types of information can be provided to toAmos:&lt;br /&gt;
&lt;br /&gt;
* Sequence and quality data (options -f, -s,  -q, -gq, or -bq)&lt;br /&gt;
* Library and mate-pair data (options -m, -x, -f, -i,  or  -map)&lt;br /&gt;
* Contig  data (options -c, -a, -ta, or -ace)&lt;br /&gt;
* Scaffold data (option -a)&lt;br /&gt;
&lt;br /&gt;
== Options ==&lt;br /&gt;
{| class=&amp;quot;somecssclass&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 | -o &amp;lt;out_file&amp;gt;    || output filename (&amp;#039;-&amp;#039; for standard output)&lt;br /&gt;
 |-&lt;br /&gt;
 | -s &amp;lt;fasta_reads&amp;gt; || sequence data file in FASTA format (reads names ending in .1 or /1 are taken as mate pairs)&lt;br /&gt;
 |-&lt;br /&gt;
 | -q &amp;lt;qual_file&amp;gt;   || sequence quality score file in QUAL format&lt;br /&gt;
 |-&lt;br /&gt;
 | -gq &amp;lt;bad_qual&amp;gt;   || minimum quality score for high-quality bases (default: 30) - if no quality file provided bases within clear range are assigned this quality value&lt;br /&gt;
 |-&lt;br /&gt;
 | -bq &amp;lt;good_qual&amp;gt;  || maximum quality score for  low-quality bases (default: 10) - if no quality file provided bases outside the clear range are assigned this quality value (default 10)&lt;br /&gt;
 |-&lt;br /&gt;
 | -c &amp;lt;tigr_contig&amp;gt; || provide TIGR .contig file&lt;br /&gt;
 |-&lt;br /&gt;
 | -a &amp;lt;celera_asm&amp;gt;  || use Celera Assembler .asm contig file (contig and scaffold information)&lt;br /&gt;
 |-&lt;br /&gt;
 | -S               || include the surrogate unitigs in the .asm file as AMOS contigs&lt;br /&gt;
 |-&lt;br /&gt;
 | -utg             || include all UTG unitig messages in the .asm file as AMOS contigs&lt;br /&gt;
 |-&lt;br /&gt;
 | -ta &amp;lt;tigr_asm&amp;gt;   || contig file in TIGR Assembler format (.tasm)&lt;br /&gt;
 |-&lt;br /&gt;
 | -ace &amp;lt;phrap_ace&amp;gt; || contig file in Phred ACE format (can be accompanied by -q)&lt;br /&gt;
 |-&lt;br /&gt;
 | -phd             || read the content of PHD file referenced in ACE files&lt;br /&gt;
 |-&lt;br /&gt;
 | -m &amp;lt;bambus_mates&amp;gt; || library and mate-pair information file in Bambus format&lt;br /&gt;
 |-&lt;br /&gt;
 | -x &amp;lt;trace_xml&amp;gt;   || ancilliary data file (library, mate-pair, clear range) in Trace Archive XML format&lt;br /&gt;
 |-&lt;br /&gt;
 | -f &amp;lt;celera_frg&amp;gt;  || library, mate-pair, sequence, quality, and clear range data file in Celera Assembler format&lt;br /&gt;
 |-&lt;br /&gt;
 | -acc             || use accession numbers in FRG files&lt;br /&gt;
 |-&lt;br /&gt;
 | -arachne &amp;lt;arachne_links&amp;gt; || scaffold file in Arachne .links format&lt;br /&gt;
 |-&lt;br /&gt;
 | -scaff &amp;lt;bambus_scaff&amp;gt; || scaffold file in Bambus .scaff format&lt;br /&gt;
 |-&lt;br /&gt;
 | -i &amp;lt;insert_file&amp;gt; || read insert information&lt;br /&gt;
 |-&lt;br /&gt;
 | -map &amp;lt;dst_map&amp;gt;   || read map information - mapping from internal library ID to external library ID useful in conjunction with the -f option.  This file consists of space-separated records providing a mapping from the &amp;quot;acc:&amp;quot; field in &amp;quot;DST&amp;quot; records within the .frg file to an externally recognizable name for each library.&lt;br /&gt;
 |-&lt;br /&gt;
 | -pos &amp;lt;pos_file&amp;gt;  || TIGR-style .pos position file&lt;br /&gt;
 |-&lt;br /&gt;
 | -id &amp;lt;min_id&amp;gt;     || start numbering contigs at this number&lt;br /&gt;
 |-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== TIGR specific options (not too useful outside TIGR) ==&lt;br /&gt;
&lt;br /&gt;
* -i &amp;lt;insert file&amp;gt;  - use mapping from internal library ID to external library ID provided in a .insert file produced by pullfrag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
&lt;br /&gt;
The -ta (TIGR Assembler input) and -ace (ACE formatted input) options have not been throughly tested and likely do not properly work.  Contact us if either of these options is important to you.&lt;/div&gt;</summary>
		<author><name>Dmb000006</name></author>	</entry>

	<entry>
		<id>http://amos.sourceforge.net/wiki/index.php/ToAmos</id>
		<title>ToAmos</title>
		<link rel="alternate" type="text/html" href="http://amos.sourceforge.net/wiki/index.php/ToAmos"/>
				<updated>2010-12-14T18:02:01Z</updated>
		
		<summary type="html">&lt;p&gt;Dmb000006: /* Options */ Updating and tabulating. please check!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;toAmos: converter from various types of inputs to AMOS messages&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
toAmos is primarily designed for converting the output of an assembly program into the AMOS format so that it can be stored in an AMOS bank.  toAmos can be used as a replacement for tarchive2amos however the latter is more flexible when converting from Trace Archive or simple .seq and .qual inputs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Synopsis ==&lt;br /&gt;
&lt;br /&gt;
 toAmos -o out_file &lt;br /&gt;
        (-s fasta_reads (-q qual_file) (-gq good_qual) (-bq bad_qual))&lt;br /&gt;
        (-c tigr_contig | -a celera_asm [-S][-utg] | -ta tigr_asm | -ace phrap_ace [-phd])&lt;br /&gt;
        (-m bambus_mates | -x trace_xml | -f celera_frg [-acc])&lt;br /&gt;
        (-arachne arachne_links | -scaff bambus_scaff)&lt;br /&gt;
        (-i insert_file | -map dst_map)&lt;br /&gt;
        (-pos pos_file)&lt;br /&gt;
        (-id min_id)&lt;br /&gt;
&lt;br /&gt;
toAmos reads the inputs specified on the command line and converts the information into AMOS message format.  The following types of information can be provided to toAmos:&lt;br /&gt;
&lt;br /&gt;
* Sequence and quality data (options -f, -s,  -q, -gq, or -bq)&lt;br /&gt;
* Library and mate-pair data (options -m, -x, -f, -i,  or  -map)&lt;br /&gt;
* Contig  data (options -c, -a, -ta, or -ace)&lt;br /&gt;
* Scaffold data (option -a)&lt;br /&gt;
&lt;br /&gt;
== Options ==&lt;br /&gt;
{|&lt;br /&gt;
 |-&lt;br /&gt;
 | -o &amp;lt;out_file&amp;gt;    || output filename (&amp;#039;-&amp;#039; for standard output)&lt;br /&gt;
 |-&lt;br /&gt;
 | -s &amp;lt;fasta_reads&amp;gt; || sequence data file in FASTA format (reads names ending in .1 or /1 are taken as mate pairs)&lt;br /&gt;
 |-&lt;br /&gt;
 | -q &amp;lt;qual_file&amp;gt;   || sequence quality score file in QUAL format&lt;br /&gt;
 |-&lt;br /&gt;
 | -gq &amp;lt;bad_qual&amp;gt;   || minimum quality score for high-quality bases (default: 30) - if no quality file provided bases within clear range are assigned this quality value&lt;br /&gt;
 |-&lt;br /&gt;
 | -bq &amp;lt;good_qual&amp;gt;  || maximum quality score for  low-quality bases (default: 10) - if no quality file provided bases outside the clear range are assigned this quality value (default 10)&lt;br /&gt;
 |-&lt;br /&gt;
 | -c &amp;lt;tigr_contig&amp;gt; || provide TIGR .contig file&lt;br /&gt;
 |-&lt;br /&gt;
 | -a &amp;lt;celera_asm&amp;gt;  || use Celera Assembler .asm contig file (contig and scaffold information)&lt;br /&gt;
 |-&lt;br /&gt;
 | -S               || include the surrogate unitigs in the .asm file as AMOS contigs&lt;br /&gt;
 |-&lt;br /&gt;
 | -utg             || include all UTG unitig messages in the .asm file as AMOS contigs&lt;br /&gt;
 |-&lt;br /&gt;
 | -ta &amp;lt;tigr_asm&amp;gt;   || contig file in TIGR Assembler format (.tasm)&lt;br /&gt;
 |-&lt;br /&gt;
 | -ace &amp;lt;phrap_ace&amp;gt; || contig file in Phred ACE format (can be accompanied by -q)&lt;br /&gt;
 |-&lt;br /&gt;
 | -phd             || read the content of PHD file referenced in ACE files&lt;br /&gt;
 |-&lt;br /&gt;
 | -m &amp;lt;bambus_mates&amp;gt; || library and mate-pair information file in Bambus format&lt;br /&gt;
 |-&lt;br /&gt;
 | -x &amp;lt;trace_xml&amp;gt;   || ancilliary data file (library, mate-pair, clear range) in Trace Archive XML format&lt;br /&gt;
 |-&lt;br /&gt;
 | -f &amp;lt;celera_frg&amp;gt;  || library, mate-pair, sequence, quality, and clear range data file in Celera Assembler format&lt;br /&gt;
 |-&lt;br /&gt;
 | -acc             || use accession numbers in FRG files&lt;br /&gt;
 |-&lt;br /&gt;
 | -arachne &amp;lt;arachne_links&amp;gt; || scaffold file in Arachne .links format&lt;br /&gt;
 |-&lt;br /&gt;
 | -scaff &amp;lt;bambus_scaff&amp;gt; || scaffold file in Bambus .scaff format&lt;br /&gt;
 |-&lt;br /&gt;
 | -i &amp;lt;insert_file&amp;gt; || read insert information&lt;br /&gt;
 |-&lt;br /&gt;
 | -map &amp;lt;dst_map&amp;gt;   || read map information - mapping from internal library ID to external library ID useful in conjunction with the -f option.  This file consists of space-separated records providing a mapping from the &amp;quot;acc:&amp;quot; field in &amp;quot;DST&amp;quot; records within the .frg file to an externally recognizable name for each library.&lt;br /&gt;
 |-&lt;br /&gt;
 | -pos &amp;lt;pos_file&amp;gt;  || TIGR-style .pos position file&lt;br /&gt;
 |-&lt;br /&gt;
 | -id &amp;lt;min_id&amp;gt;     || start numbering contigs at this number&lt;br /&gt;
 |-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== TIGR specific options (not too useful outside TIGR) ==&lt;br /&gt;
&lt;br /&gt;
* -i &amp;lt;insert file&amp;gt;  - use mapping from internal library ID to external library ID provided in a .insert file produced by pullfrag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
&lt;br /&gt;
The -ta (TIGR Assembler input) and -ace (ACE formatted input) options have not been throughly tested and likely do not properly work.  Contact us if either of these options is important to you.&lt;/div&gt;</summary>
		<author><name>Dmb000006</name></author>	</entry>

	<entry>
		<id>http://amos.sourceforge.net/wiki/index.php/ToAmos</id>
		<title>ToAmos</title>
		<link rel="alternate" type="text/html" href="http://amos.sourceforge.net/wiki/index.php/ToAmos"/>
				<updated>2010-12-14T17:48:13Z</updated>
		
		<summary type="html">&lt;p&gt;Dmb000006: /* Synopsis */ Updating to latest synopsis... hope that&amp;#039;s OK...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;toAmos: converter from various types of inputs to AMOS messages&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
toAmos is primarily designed for converting the output of an assembly program into the AMOS format so that it can be stored in an AMOS bank.  toAmos can be used as a replacement for tarchive2amos however the latter is more flexible when converting from Trace Archive or simple .seq and .qual inputs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Synopsis ==&lt;br /&gt;
&lt;br /&gt;
 toAmos -o out_file &lt;br /&gt;
        (-s fasta_reads (-q qual_file) (-gq good_qual) (-bq bad_qual))&lt;br /&gt;
        (-c tigr_contig | -a celera_asm [-S][-utg] | -ta tigr_asm | -ace phrap_ace [-phd])&lt;br /&gt;
        (-m bambus_mates | -x trace_xml | -f celera_frg [-acc])&lt;br /&gt;
        (-arachne arachne_links | -scaff bambus_scaff)&lt;br /&gt;
        (-i insert_file | -map dst_map)&lt;br /&gt;
        (-pos pos_file)&lt;br /&gt;
        (-id min_id)&lt;br /&gt;
&lt;br /&gt;
toAmos reads the inputs specified on the command line and converts the information into AMOS message format.  The following types of information can be provided to toAmos:&lt;br /&gt;
&lt;br /&gt;
* Sequence and quality data (options -f, -s,  -q, -gq, or -bq)&lt;br /&gt;
* Library and mate-pair data (options -m, -x, -f, -i,  or  -map)&lt;br /&gt;
* Contig  data (options -c, -a, -ta, or -ace)&lt;br /&gt;
* Scaffold data (option -a)&lt;br /&gt;
&lt;br /&gt;
== Options ==&lt;br /&gt;
&lt;br /&gt;
* -o &amp;lt;outfile&amp;gt; - place output in &amp;lt;outfile&amp;gt;&lt;br /&gt;
* -m &amp;lt;matefile&amp;gt; - library and mate-pair information in Bambus format&lt;br /&gt;
* -x &amp;lt;trace.xml&amp;gt; - ancilliary data (library, mate-pair, clear range) in Trace Archive format&lt;br /&gt;
* -f &amp;lt;frg file&amp;gt; - library, mate-pair, sequence, quality, and clear range data in Celera Assembler message format&lt;br /&gt;
* -s &amp;lt;fasta&amp;gt; - sequence information in multi-FASTA format&lt;br /&gt;
* -q &amp;lt;qual&amp;gt; - quality information in multi-FASTA format&lt;br /&gt;
* -gq &amp;lt;goodqual&amp;gt; - if no quality file provided bases within clear range are assigned this quality value (default 30)&lt;br /&gt;
* -bq &amp;lt;badqual&amp;gt; - if no quality file provided bases outside the clear range are assigned this quality value (default 10)&lt;br /&gt;
* -a &amp;lt;asm file&amp;gt; - contig and scaffold information in Celera Assembler message format&lt;br /&gt;
* -c &amp;lt;contig file&amp;gt; - contig information in TIGR Assembler GDE-like output&lt;br /&gt;
* -ta &amp;lt;TA asm file&amp;gt; - contig information in TIGR Assembler .asm output&lt;br /&gt;
* -ace &amp;lt;ace file&amp;gt; - contig information in ACE format&lt;br /&gt;
* -map &amp;lt;dstmap&amp;gt; - mapping from internal library ID to external library ID useful in conjunction with the -f option.  This file consists of space-separated records providing a mapping from the &amp;quot;acc:&amp;quot; field in &amp;quot;DST&amp;quot; records within the .frg file to an externally recognizable name for each library.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== TIGR specific options (not too useful outside TIGR) ==&lt;br /&gt;
&lt;br /&gt;
* -i &amp;lt;insert file&amp;gt;  - use mapping from internal library ID to external library ID provided in a .insert file produced by pullfrag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
&lt;br /&gt;
The -ta (TIGR Assembler input) and -ace (ACE formatted input) options have not been throughly tested and likely do not properly work.  Contact us if either of these options is important to you.&lt;/div&gt;</summary>
		<author><name>Dmb000006</name></author>	</entry>

	<entry>
		<id>http://amos.sourceforge.net/wiki/index.php/Bambus_Manual</id>
		<title>Bambus Manual</title>
		<link rel="alternate" type="text/html" href="http://amos.sourceforge.net/wiki/index.php/Bambus_Manual"/>
				<updated>2010-12-13T11:40:28Z</updated>
		
		<summary type="html">&lt;p&gt;Dmb000006: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
 | __TOC__&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The output of most shotgun sequence assembly programs (such as TIGR Assembler, phrap, or CAP3) consists in a set of un-related contigs, whose order and orientation along the chromosome is unknown. Scaffolding represents the task of ordering and orienting these contigs by using additional information about their relative placement. Traditionally such information was identified from the pairing of reads from the opposite ends of an insert in double-barelled shotgun experiments (see figure).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:scaffold image.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Besides clone mate information, homology data, physical maps, or gene synteny information can be used to derive relationships between contigs. BAMBUS is a program written to handle all such types of data in a generic fashion in order to build contig scaffolds. In order to account for the varied quality of linking information BAMBUS allows the user to specify a hierarchy that will consider the most reliable linking data first, then expand the scaffolds using less reliable data. This approach minimizes the effect of errors inherent to experimentally-derived linking information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Algorithm overview ===&lt;br /&gt;
&lt;br /&gt;
BAMBUS has two main modes of operation: hierarchical - when the links are considered in the order of their priorities, and standard - when all the links are considered at the same priority level. In the latter case, all links connecting two contigs are bundled together to form a &amp;quot;gap&amp;quot;, or &amp;quot;edge&amp;quot; if you look at the problem from a graph theoretical point of view. Each link is checked for validity before being added to a bundle. Thus, a link is considered invalid due to a length constraint if it forces the two contigs to overlap. In other words, if we assume the largest possible size for the insert corresponding to the link, if the coordinates of the mate-pair within the contigs force the contigs to overlap, we discard the link assuming it is due to a misassembly (Note: this behaviour can be specified on a link-by-link basis). Links that pass this test are further checked for consistency. If they do not all agree in the relative orientations of the contigs they imply, a majority rule is used to retain only those links that agree both in orientation and length. Furthermore, the bundle, or edge, is retained if it contains at least two links (this parameter, redundancy, can actually be tuned by the user). After this step is complete, the resulting graph gets traversed twice, once to assign consistent orientations to all the contigs, and the second time to determine the order of the contigs along the chromosome. Note that inconsistencies in order are currently allowed since they can provide finishing teams with useful information. In a future version of BAMBUS we will add an option to allow the generation of unambiguous scaffolds as well. Currently you can generate such unambiguous scaffolds using the [[#Untangling scaffolds|untangle]] program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
* Install AMOS&lt;br /&gt;
* Perl 5.6 or later&lt;br /&gt;
* [http://www.cpan.org/ XML::Parser] perl module&lt;br /&gt;
* [http://www.cpan.org/ Config::IniFiles] perl module&lt;br /&gt;
* [http://www.research.att.com/sw/tools/graphviz/ GraphViz] package&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Obtaining BAMBUS ===&lt;br /&gt;
&lt;br /&gt;
BAMBUS 2.3 is available free of charge under the open-source Artistic License.&lt;br /&gt;
&lt;br /&gt;
The Bambus source if freely available for download from the File Release Section of our SourceForge project page.&lt;br /&gt;
&lt;br /&gt;
To receive information regarding new releases and developments, please subscribe to our moderated, low-traffic users&amp;#039; mailing list:&lt;br /&gt;
&lt;br /&gt;
 amos-users(at)lists(dot)sourceforge(dot)net&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Actual installation ===&lt;br /&gt;
&lt;br /&gt;
1. Find a directory where you want the software installed. For example /users/home/CoolUser&lt;br /&gt;
&lt;br /&gt;
2. Place the tar file bambus-2.33.tar.gz in this directory&lt;br /&gt;
&lt;br /&gt;
3. Unpack the distribution&lt;br /&gt;
 % tar xvzf bambus-2.33.tar.gz&lt;br /&gt;
&lt;br /&gt;
4. Go into the newly created directory&lt;br /&gt;
 % cd bambus-2.33&lt;br /&gt;
&lt;br /&gt;
5. Carefully read the documentation&lt;br /&gt;
&lt;br /&gt;
6. Edit the file Makefile and change the value of BASEDIR to the correct installation path, for example:&lt;br /&gt;
 BASEDIR = /users/home/CoolUser&lt;br /&gt;
&lt;br /&gt;
7. Also check if the path for perl (in variable PERL) matches the one on your system. Several common options are:&lt;br /&gt;
 PERL = /usr/local/bin/perl&lt;br /&gt;
 PERL = /usr/bin/perl&lt;br /&gt;
&lt;br /&gt;
8. Type &amp;#039;gmake install&amp;#039; to have all the software installed. The executables will be in /users/home/CoolUser/bin/ and the documentation in /users/home/CoolUser/doc.&lt;br /&gt;
&lt;br /&gt;
9. To get started you can try out the small test dataset provided in data/test_run by typing:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -m test.mates -o test-bambus&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Running BAMBUS ==&lt;br /&gt;
&lt;br /&gt;
The input to Bambus consists in a set of links between contigs. These links can be inferred from the pairing of reads belonging to the same insert, from physical map data, or from alignment to another genome. To accomodate these types of sources of linking information, and to allow for further extensions, the input to Bambus is presented in a general purpose XML format. &lt;br /&gt;
&lt;br /&gt;
The following sections describe how the XML file can be generated for each type of linking data. For more information see [[#.evidence.xml|.evidence.xml]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Linking information is grouped into &amp;quot;libraries&amp;quot;. All links within a library have similar parameters. In the case of mate-pair linking information the libraries match the standard definition. For other linking data, for example MUMmer links, the library grouping reflects specific characteristics of the linking data. For example all MUMmer links are grouped within a library called &amp;quot;MUMmer&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Command line options ===&lt;br /&gt;
&lt;br /&gt;
Bambus consists in a collection of programs controlled by a script called goBambus. The execution is controlled by the following sets of parameters. To obtain a list of all parameters and basic help information you need to type:&lt;br /&gt;
&lt;br /&gt;
 goBambus -h&lt;br /&gt;
or&lt;br /&gt;
 goBambus -help&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Configuration options ====&lt;br /&gt;
&lt;br /&gt;
* -C &amp;lt;conf_file&amp;gt; . This parameter specifies the configuration file used by Bambus. A configuration file is not required, however it is useful if you want to change the default parameters. See [[#The configuration file|the configuration file]] for a detailed description of the configuration information.&lt;br /&gt;
&lt;br /&gt;
Whenever you run Bambus it will generate a default configuration file called default.conf. If you want to modify the parameters, you will need to rename this file and then edit it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Input Options ====&lt;br /&gt;
&lt;br /&gt;
* -a &amp;lt;asm_file&amp;gt; . Use a TIGR Assembler .asm file as source of linking information.&lt;br /&gt;
* -c &amp;lt;contig_file&amp;gt; . Use a GDE formatted .contig assembly file as source of linking information. The .contig files can be obtained either from TIGR Assembler output (by concatenating the contents of the .align directory) or by converting .ace files (created by phrap or Consed) using the [[ace2contig]] package.&lt;br /&gt;
* -x &amp;lt;xml_file&amp;gt;. Use additional XML formatted linking information. You can use the -x option multiple times. See [[#.evidence.xml|.evidence.xml]] for the XML file format.&lt;br /&gt;
* -mx &amp;lt;make_file&amp;gt;. Use a gmake compatible make file to specify how the additional XML information is generated. Each of the files created must end in &amp;quot;.xml&amp;quot;. Moreover, only the final XML targets are allowed to end in &amp;quot;.xml&amp;quot; to prevent goBambus from getting confused. See [[#Using Makefiles|using Makefiles]] for a more detailed description on using makefiles.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Mate-pair Information ====&lt;br /&gt;
&lt;br /&gt;
Assembly output (such as .asm and .contig files) does not generally contain any information about the pairing of reads coming from opposite ends of the same insert, nor about the membership of inserts to libraries. The following parameters specify how to obtain this mate-pair information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* -m &amp;lt;mates_file&amp;gt; . The mates file allows you to specify both library information and mate pairing information, using a system based on Perl regular expressions. See [[#The .mates file|the .mates file]].&lt;br /&gt;
* -D &amp;lt;database&amp;gt; . At TIGR, instead of a mates file you can opt to use a database to obtain library and mate information. Note that the -m and -D options are complementary. The following three parameters specify database options:&lt;br /&gt;
* -S &amp;lt;server&amp;gt; . Select a specific database server&lt;br /&gt;
* -U &amp;lt;user&amp;gt; . Log in with the specified user name&lt;br /&gt;
* -P &amp;lt;passwd&amp;gt; . Log in with the specified password&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Output Options ====&lt;br /&gt;
&lt;br /&gt;
* -o &amp;lt;output_prefix&amp;gt; . All the output file names will be generated from the &amp;lt;output_prefix&amp;gt; prefix.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Repeat Screening ====&lt;br /&gt;
&lt;br /&gt;
Misassembled repeats can confuse Bambus, therefore it makes sense to screen the known repeats that may be misassembled. Bambus can use two types of repeat screening information:&lt;br /&gt;
&lt;br /&gt;
* -r . Screen against the repeats listed in the database (option -D must be provided)&lt;br /&gt;
* -r &amp;lt;repfile&amp;gt; . Screen against repeats described in [[#Repeat files|repeat files]]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Flow-control ====&lt;br /&gt;
&lt;br /&gt;
* -start &amp;lt;num&amp;gt;&lt;br /&gt;
* -end &amp;lt;num&amp;gt;. The execution of Bambus consists in a set of steps. The user can choose to start or end at a specific step for example in the case when she modifies the configuration file and wants to re-run just the final steps of the scaffolders. This feature should be used with caution.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Typical use cases ===&lt;br /&gt;
==== Using assembler output ====&lt;br /&gt;
&lt;br /&gt;
For convenience, Bambus can use the output of an assembly program and automatically generate the required linking information. Two types of information are required:&lt;br /&gt;
&lt;br /&gt;
* the tiling of reads in the assembly&lt;br /&gt;
* information about the pairing of reads&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The first type of information can be obtained from the .asm or .contig output formats of TIGR Assembler. For more information about these file formats please refer to the [http://www.jcvi.org/cms/publications/listing/abstract/article/tigr-assembler-a-new-tool-for-assembling-large-shotgun-sequencing-projects/ TIGR Assembler documentation]. Note that the .contig file may be stripped of all sequence data as the only information used is that contained in the lines starting with #. In case you are using an assembler other than TIGR Assembler you may need to use the ta2ace package to convert the output into the .contig format.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The second type of information can be obtained from a [[#The .mates file|.mates file]], or from the database in case you are at TIGR.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A typical command line for someone outside of TIGR is:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -m test.mates -o test&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and the execution will generate the following files:&lt;br /&gt;
&lt;br /&gt;
* [[#.stats file|test.stats]] - statistics on scaffolds and libraries &lt;br /&gt;
* [[#.details file|test.details]] - detailed information about each contig pair (also called &amp;quot;gap&amp;quot;). &lt;br /&gt;
* [[#.dot file|test.dot]] - GraphViz formatted description of the contig linkage information.&lt;br /&gt;
* [[#.evidence.xml|test.evidence.xml]] - XML representation of all the linking evidence provided.&lt;br /&gt;
* [[#.out.xml|test.out.xml]] - XML representation of the scaffolds.&lt;br /&gt;
* [[#.ps file|test.lib]] - list of the codes associated with each input library. These codes are reported on the links in the output file.&lt;br /&gt;
* [[#.sum file|test.sum]] - one-line sumaries of all scaffolds.&lt;br /&gt;
* [[#.oo file|test.oo]] - order and orientation information for all the contigs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Additionally, the program generates some &amp;quot;working&amp;quot; files that are currently not removed as they provide useful debugging information.&lt;br /&gt;
&lt;br /&gt;
* test.detective.xml - linking information derived from assembler input alone. It&amp;#039;s the same as test.evidence.xml unless additional XML files are provided in the input.&lt;br /&gt;
* test.inp - input to the core scaffolding engine.&lt;br /&gt;
* test.grommit.conf - configuration information for the scaffolding engine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To view the graphical output you need to convert it to Postscript with the command:&lt;br /&gt;
&lt;br /&gt;
 dot -Tps -o test.ps test.dot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then you can view the postscript file with the command:&lt;br /&gt;
&lt;br /&gt;
 gv test.ps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
At TIGR, instead of specifying a .mates file you can use the database:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -D gbx -U access -P access -o test&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Getting more (or less) information from the output ====&lt;br /&gt;
&lt;br /&gt;
You can modify the information you get in the output by directly calling the printScaff command. PrintScaff requires as inputs the .evidence.xml file, the .out.xml file and the .lib files produce by Bambus, the minimal invocation being:&lt;br /&gt;
&lt;br /&gt;
 printScaff -e test.evidence.xml -s test.out.xml -l test.lib&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Optionally you may specify the output prefix with option -o (just like in the Bambus invocation). PrintScaff has parameters that control what gets reported, and in what format. In the first category you have:&lt;br /&gt;
&lt;br /&gt;
* -dot - produce a .dot file&lt;br /&gt;
* -detail - produce a .details file&lt;br /&gt;
* -oo - produce a [[#.oo file|.oo]] file listing all the contigs in each scaffold&lt;br /&gt;
* -sum - produce a [[#.sum file|.sum]] tab delimited list of scaffold stats (#contigs, size, and span)&lt;br /&gt;
* -f &amp;lt;fasta_file&amp;gt; - generate a pseudo-molecule for each scaffold using the contig sequences listed in &amp;lt;fasta_file&amp;gt;.&lt;br /&gt;
  note that the contigs in the scaffold files are names &amp;quot;contig_&amp;lt;id&amp;gt;&amp;quot; while the contigs in the &amp;lt;fasta_file&amp;gt; must simply be called &amp;quot;&amp;lt;id&amp;gt;&amp;quot;. Note that this option together with the default -merge option (see below) is meaningless unless you&amp;#039;ve [[#Untangling scaffolds|untangled]] the scaffold.&lt;br /&gt;
* -phys - create a .phys file listing all &amp;quot;gaps&amp;quot; spanned only by the specified libraries:&lt;br /&gt;
&lt;br /&gt;
 printScaff -e test.evidence.xml -s test.out.xml -l test.lib -phys MUMmer&lt;br /&gt;
&lt;br /&gt;
will generate a file called test.phys that contains all contig pairs linked by nothing but MUMmer links.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the second category you have:&lt;br /&gt;
&lt;br /&gt;
* -page - produce .dot file formatted for printing on 8.5x11&amp;quot; paper&lt;br /&gt;
* -plot - produce .dot file formatted for printing on a plotter (36x48&amp;quot; paper)&lt;br /&gt;
* -unused - draw edges corresponding to unused links&lt;br /&gt;
* -merge - (default) when the -f option is given, produce a pseudo-molecule for each scaffold by adding 60 N characters between the contigs in the scaffold&lt;br /&gt;
* -nomerge - when the -f option is given, create a fasta file containing all contigs in each scaffold in the correct orientation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Adding additional XML linking information ====&lt;br /&gt;
&lt;br /&gt;
You can easily add additional linking information as long as it&amp;#039;s in a format similar to the [[#.evidence.xml file|.evidence.xml file]]. Assuming we have two such files &amp;quot;link1.xml&amp;quot; and &amp;quot;link2.xml&amp;quot; you can call Bambus as follows:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -m test.mates -x link1.xml -x link2.xml -o test&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The result being the same as if you concatenated the XML file inferred from the .contig file together with the two additional XML files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Using MUMmer links ====&lt;br /&gt;
&lt;br /&gt;
In case you are sequencing a genome for which a close relative has been completed, you can use [[MUMmer]] to infer links between contigs. Assume you have the reference genome in a file &amp;quot;ref.fasta&amp;quot; and all the contigs from the genome you are assembling in a file called &amp;quot;test.fasta&amp;quot;, you can run MUMmer to align the test genome to the reference:&lt;br /&gt;
&lt;br /&gt;
 nucmer -maxmatch ref.fasta test.fasta&lt;br /&gt;
&lt;br /&gt;
The output will be placed in a file called out.delta. You can then convert the alignment information into an XML file suitable for Bambus as follows:&lt;br /&gt;
&lt;br /&gt;
 show-tiling -x out.delta &amp;gt; test.mum.xml&lt;br /&gt;
&lt;br /&gt;
And finally you can provide this information to Bambus:&lt;br /&gt;
&lt;br /&gt;
 goBambus -c test.contig -m test.mates -x test.mum.xml -o test&lt;br /&gt;
&lt;br /&gt;
==== Using Makefiles ====&lt;br /&gt;
&lt;br /&gt;
If you have multiple XML files, it becomes tedious to generate each file separately and then provide them to Bambus with multiple -x options. You can create a Makefile compatible with GNU make that generates each of the XML files. You must be careful that the targets for all the XML files end in &amp;quot;.xml&amp;quot;, and no other targets (such as intermediate targets) have the same suffix. Bambus will assume that all .xml files produced by the Makefile must be added to the input.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An example of a simple Makefile that can generate the mummer information described above is:&lt;br /&gt;
&lt;br /&gt;
 test.mum.xml: ref.fasta test.fasta&lt;br /&gt;
 nucmer -a max-match ref.fasta test.fasta&lt;br /&gt;
 show-tiling -x out.delta &amp;gt; test.mum.xml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Untangling scaffolds ====&lt;br /&gt;
&lt;br /&gt;
By default, the scaffolds resulting from Bambus are potentially ambiguous as two or more contigs may occupy the same place in the genome. Such situations occur either due to misassembled repeats, or when assembling different haplotypes. Bambus contains a utility that does a best effort attempt to disambiguate the scaffolds, by breaking them into a set of non-ambiguous scaffolds. The algorithm is greedy and does not guarantee that an optimal solution (e.g. a minimum number of longest scaffolds) is produced.&lt;br /&gt;
&lt;br /&gt;
To run the untangler type:&lt;br /&gt;
&lt;br /&gt;
 untangle -e test.evidence.xml -s test.out.xml -o test.untangle.xml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The test.untangle.xml file has the same format as the output file ([[#.out.xml|.out.xml]]) and for each scaffold (e.g. scaff_1) contains one or more unambiguous scaffolds called &amp;quot;scaff_1_1, scaff_1_2, etc&amp;quot;. You can use the [[#Getting more (or less) information from the output|printScaff]] command to process the untangled file the same way you would process a normal Bambus output.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== File formats ==&lt;br /&gt;
&lt;br /&gt;
=== The configuration file ===&lt;br /&gt;
&lt;br /&gt;
Scaffolding parameters can be specified in a configuration file. Whenever you run Bambus a default configuration file is generated as default.conf. To create your own file you should rename this file then edit it. The following types of information can be specified:&lt;br /&gt;
&lt;br /&gt;
* Comments. Lines starting with # are considered comments and are ignored by the software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Priority information. Specifies an order in which the libraries are considered. For example, the following line specifies priority 2 for all MUMmer links. The libraries are considered in the increasing order of priorities.&lt;br /&gt;
&lt;br /&gt;
      priority MUMmer 2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If no configuration file is provided, all libraries are assumed to have the same priority. If a configuration file is provided, only those libraries that have a priority record are used in scaffolding. In other words, if a library has no priority record associated with it, it will not be used in scaffolding.&lt;br /&gt;
&lt;br /&gt;
A priority can also be specified for a specific redundancy parameter. For example, the following line specifies that those links between contigs supported by 4 or more sources of linking data should be processed at priority level 1. &lt;br /&gt;
&lt;br /&gt;
      priority redundancy 4 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note, however, that you need to also specify a set of libraries to be used at this priority level. A simple shortcut is specifying that all link classes should be processed at this redundancy.&lt;br /&gt;
&lt;br /&gt;
      priority ALL 1&lt;br /&gt;
      &lt;br /&gt;
&lt;br /&gt;
If you are uncertain of which libraries your project uses, run Bambus without a configuration file. The libraries will be listed in a file ending in &amp;quot;.libs&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Redundancy information. Specifies the minimum number of links required for a valid inter-contig link. You can specify this parameter as a global value:&lt;br /&gt;
&lt;br /&gt;
   redundancy 2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
that is, all contigs must be linked by at least two links. You can also specify a per-library value like below which says a single MUMmer link is required to link two contigs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   redundancy MUMmer 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Minimum scaffold size. Specifies a scaffold size cutoff. For example thisimplies that only scaffolds that contain more than 10kbp are present in the output.:&lt;br /&gt;
&lt;br /&gt;
      mingroupsize 10000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Link size error. For some link types, determining the exact link length can only be done within a certain error. This parameter specifies, as a percentage, the estimated error in size determination. For example, since MUMmer links make an assumption of evolutionary closeness between two genomes, the error associated with them should be proportional to the estimated evolutionary distance (as nucleotide % similarity) between the two genomes. For an error of 5% use this parameter: &lt;br /&gt;
&lt;br /&gt;
      error MUMmer 0.05&lt;br /&gt;
  &lt;br /&gt;
* Overlapping contigs allowed. For each library you can control the link validation process by specifying whether adjacent contigs are allowed to overlap or not. By default mate-pair links assume adjacent contigs do not overlap, while MUMmer links allow contigs to overlap. This is equivalent to the configuration parameters:&lt;br /&gt;
  &lt;br /&gt;
      overlaps lib_1 N&lt;br /&gt;
      overlaps MUMmer Y&lt;br /&gt;
&lt;br /&gt;
An example is provided in [[bambus.conf|data/sample_files/bambus.conf]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== The .mates file ===&lt;br /&gt;
&lt;br /&gt;
The .mates file provides two types of information: library data, and mate-pair relationships between reads.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Library data can be described in two formats:&lt;br /&gt;
&lt;br /&gt;
 library &amp;lt;name&amp;gt; &amp;lt;min_size&amp;gt; &amp;lt;max_size&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and&lt;br /&gt;
&lt;br /&gt;
 library &amp;lt;name&amp;gt; &amp;lt;min_size&amp;gt; &amp;lt;max_size&amp;gt; &amp;lt;regexp&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Both formats require you to name each library and to provide a size range for the inserts belonging to it. The second format allows you to also provide a Perl regular expression that describes the naming convention for reads belonging to the library. The part of the sequence name that represents the library name must be placed within parantheses. As an example, the regular expression for TIGR sequences (where the library is specified by the first 4 characters) is:&lt;br /&gt;
&lt;br /&gt;
 (....).*&lt;br /&gt;
&lt;br /&gt;
Mate-pair relationships can also be described in two ways:&lt;br /&gt;
&lt;br /&gt;
 pair &amp;lt;regexp_forw&amp;gt; &amp;lt;regexp_rev&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;seq_forw&amp;gt; &amp;lt;seq_rev&amp;gt; &amp;lt;library_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The first format requires two regular expressions corresponding to the forward and reverse mates of an insert. Just like the library record, the portion of the name corresponding to the insert name must be placed within parantheses. Two reads that match the two regular expressions, and have the exact same section matched within the parantheses will be considered mates. The library will be determined from the regular expression associated with a &amp;quot;library&amp;quot; record. As an example, at TIGR the first 7 characters represent the insert, then are followed by an optional T or P and the primer name (F/R). The corresponding regular expression is:&lt;br /&gt;
&lt;br /&gt;
 pair (.......)[TP]?F (.......)[TP]?R&lt;br /&gt;
&lt;br /&gt;
The second format is simply a list of sequence name pairs each followed by the name of the library they belong to. The corresponding library records must be listed in the file before the pairing data.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that fields in the .mates file must be separated by TAB characters otherwise the program will report an error.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An example of a .mates file using the phred/phrap naming convention is provided in [[bambus.mates|data/sample_files/bambus.mates]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Repeat files ===&lt;br /&gt;
&lt;br /&gt;
The repeat files used in screening linking data conform to the output standards of the repeatFinder program. The file contains 5 TAB-delimited values: contig ID, repeat name, left and right coordinates within the contig, and contig class. Only the first 4 values are essential as far as Bambus is concerned. Here is an example of repeat records:&lt;br /&gt;
&lt;br /&gt;
 AC009139.7.3 RPT1A 14554 96820 1&lt;br /&gt;
 AC026498.3.2 RPT1B 124208 206475 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .evidence.xml ===&lt;br /&gt;
&lt;br /&gt;
This provides an XML representation of the input file. Below is a description of the data presented in this file (see also an [[bambus.evidence.xml|example]]):&lt;br /&gt;
&lt;br /&gt;
The overall flow of the XML file is:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;EVIDENCE&amp;gt;&lt;br /&gt;
   &amp;lt;LIBRARY&amp;gt;&lt;br /&gt;
    &amp;lt;INSERT&amp;gt;&lt;br /&gt;
      &amp;lt;SEQUENCE/&amp;gt;&lt;br /&gt;
      &amp;lt;SEQUENCE/&amp;gt;&lt;br /&gt;
    &amp;lt;/INSERT&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
  &amp;lt;/LIBRARY&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;CONTIG&amp;gt;&lt;br /&gt;
    &amp;lt;SEQUENCE/&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
  &amp;lt;/CONTIG&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;LINK&amp;gt;&lt;br /&gt;
    &amp;lt;CONTIG/&amp;gt;&lt;br /&gt;
    &amp;lt;CONTIG/&amp;gt;&lt;br /&gt;
  &amp;lt;/LINK&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &amp;lt;/EVIDENCE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;EVIDENCE                        this is the parent tag - the whole document occurs within &amp;lt;EVIDENCE&amp;gt; and &amp;lt;/EVIDENCE&amp;gt;&lt;br /&gt;
  ID = &amp;quot;1&amp;quot;                        some identifier for the file&lt;br /&gt;
  DATE = &amp;quot;12/15/03&amp;quot;               date when file was created&lt;br /&gt;
  PROJECT = &amp;quot;MyProject&amp;quot;           verbose description of the project&lt;br /&gt;
  PARAMETERS = &amp;quot;&amp;quot;                 parameters used in creating this file&lt;br /&gt;
 &amp;gt;&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;LIBRARY                         for each shotgun library you need a separate library tag.&lt;br /&gt;
  ID = &amp;quot;lib_1&amp;quot;                    some identifier for the library&lt;br /&gt;
  NAME = &amp;quot;short&amp;quot;                  verbose name for the library&lt;br /&gt;
  MIN = &amp;quot;1200&amp;quot;                    minimum size of inserts in this library&lt;br /&gt;
  MAX = &amp;quot;3500&amp;quot;                    maximum size of inserts in this library&lt;br /&gt;
 &amp;gt;&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;INSERT                          the insert concept links together the two reads obtained from opposite ends of a clone insert&lt;br /&gt;
  ID=&amp;quot;ins_1&amp;quot;                      generic identifier for the insert&lt;br /&gt;
  NAME=&amp;quot;GALBZ92&amp;quot;                  verbose name for the insert&lt;br /&gt;
 &amp;gt; 	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SEQUENCE                        each insert contains two sequence reads obtained from to the opposite ends&lt;br /&gt;
  ID=&amp;quot;seq_1&amp;quot;                      generic identifier for the sequence&lt;br /&gt;
  NAME=&amp;quot;GALBZ92TF&amp;quot;                verbose name for the sequence&lt;br /&gt;
 &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;CONTIG                          Each contig in the assembly needs to be represented in the file&lt;br /&gt;
  ID=&amp;quot;contig_1&amp;quot;                   contig identifier&lt;br /&gt;
  NAME= &amp;quot;1&amp;quot;                       contig name (usually the same as the identifier)&lt;br /&gt;
  LEN=&amp;quot;12352&amp;quot;                     contig length in basepairs&lt;br /&gt;
 &amp;gt; 	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SEQUENCE                        each sequence in the contig is listed together with information about the position within the contig.&lt;br /&gt;
  ID=&amp;quot;seq_1&amp;quot;                      sequence identifier (must match one described in the library section)&lt;br /&gt;
  ORI=&amp;quot;BE&amp;quot;                        orientation of sequence: BE - forward, EB - reverse&lt;br /&gt;
  ASM_LEND=&amp;quot;0&amp;quot;                    coordinate of sequence&amp;#039;s left end within the contig&lt;br /&gt;
  ASM_REND=&amp;quot;525&amp;quot;                  coordinate of sequence&amp;#039;s right end within the contig&lt;br /&gt;
 &amp;gt; 	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;LINK                            this is a generic link between two contigs (i.e. not inferred from mate-pair data)&lt;br /&gt;
  ID = &amp;quot;link_1&amp;quot;                   link identifier&lt;br /&gt;
  SIZE = &amp;quot;-800&amp;quot;                   size of gap between the two contigs&lt;br /&gt;
  TYPE = &amp;quot;MUMmer&amp;quot;                 link type: links with the same type get grouped into a virtual &amp;quot;library&amp;quot; used in specifying priorities&lt;br /&gt;
 &amp;gt; 	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;CONTIG                          each link contains two contigs&lt;br /&gt;
  ID = &amp;quot;contig_1&amp;quot;                 contig identifier: must match one described in the contig section above&lt;br /&gt;
  ORI = &amp;quot;EB&amp;quot;                      contig orientation: BE - forward, EB - reverse&lt;br /&gt;
 &amp;gt; 	                          each contig record may contain free-form data specifying the evidence for linking: e.g. alignment data&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
=== .out.xml ===&lt;br /&gt;
&lt;br /&gt;
Represents, together with the evidence file, a description of the layout of the contigs. For each scaffold, the order (given as a coordinate along a chromosome) and the orientation of each contig is presented, together with a list of all the links used to generate this layout. Some links are deemed invalid, being given a code of &amp;quot;LEN&amp;quot; in case the length was deemed incorrect, or &amp;quot;ORI&amp;quot; in case the link orientation was considered incorrect. This file is also specified by the [[bambus.dtd|DTD]] and an example ([[bambus.out.xml|data/sample_files/bambus.out.xml]]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .stats file ===&lt;br /&gt;
&lt;br /&gt;
Finally, BAMBUS outputs a summary of the scaffolds generated. This file is pretty much self-explanatory, as evidenced by this example ([[bambus.stats|data/sample_files/bambus.stats]]). Note that in the .stats file, the N50 sizes are computed with respect to the total span of the scaffolds unless a different genome size is specified in a file called genome.size.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .details file ===&lt;br /&gt;
&lt;br /&gt;
The .details file contains detailed information about the linking information between adjacent contigs. The contigs&amp;#039; orientation, size, and coordinates are listed and then all the linking data grouped by validity and library. An example is provided in [[bambus.details|data/sample_files/bambus.details]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .dot file ===&lt;br /&gt;
&lt;br /&gt;
Represents a graphical representation of the scaffolds in GraphViz format. Please see the [http://www.research.att.com/sw/tools/graphviz/ AT&amp;amp;T GraphViz] website for more information on this file format.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .ps file ===&lt;br /&gt;
&lt;br /&gt;
A postscript image generated from the GraphViz-formatted file. It can be obtained from the .dot file with the command:&lt;br /&gt;
 dot -Tps -o prefix.ps prefix.dot&lt;br /&gt;
&lt;br /&gt;
An example is given in the picture below.&lt;br /&gt;
[[Image:bambus-display.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Each scaffold is placed in a box, labeled with some statistics on the scaffold size (number of contigs, number of bases and span). All the &amp;quot;gaps&amp;quot; - linking relationships between the contigs are represented as edges. Each edge is decorated with the number of links contributing to it, the number of links from each library type, and the number of links invalidated due to incorrect length (L) or orientation (O). Each contig&amp;#039;s ID, size, and coordinates within the scaffold are also listed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .oo file ===&lt;br /&gt;
&lt;br /&gt;
This file contains a summary of the order and orientation of all contigs present in the data. Each scaffold starts with a FASTA-like header containing the identifier for the scaffold followed by the number of contigs, size and span. Within each scaffold, all contigs are listed in the scaffold order, followed by the string BE for those in the forward orientation and EB for those in the reverse orientation. An example file is shown in: [[bambus.oo|data/sample_files/bambus.oo]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .sum file ===&lt;br /&gt;
&lt;br /&gt;
This file contains one line for each scaffold. Each line contains the scaffold ID, number of contigs, scaffold size, and span. The four values are separated by TAB characters. See an example in [[bambus.sum|data/sample_files/bambus.sum]].&lt;br /&gt;
&lt;br /&gt;
== Known problems ==&lt;br /&gt;
There is a small &amp;quot;off-by-one&amp;quot; error in computing contig coordinates. It should not really affect the usefulness of the output.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Contact information ==&lt;br /&gt;
&lt;br /&gt;
BAMBUS is currently provided AS-IS, in other words we do not provide any support for the software. We would, however, like to hear your comments and suggestions.  For Bambus bug reports, support requests, or any other inquiries please browse our SourceForge project page or Email us at:&lt;br /&gt;
&lt;br /&gt;
  amos-help (at) lists (dot) sourceforge (dot) net&lt;br /&gt;
&lt;br /&gt;
BAMBUS was written by Mihai Pop and Dan Kosack.&lt;/div&gt;</summary>
		<author><name>Dmb000006</name></author>	</entry>

	<entry>
		<id>http://amos.sourceforge.net/wiki/index.php/Minimus2</id>
		<title>Minimus2</title>
		<link rel="alternate" type="text/html" href="http://amos.sourceforge.net/wiki/index.php/Minimus2"/>
				<updated>2009-12-03T18:46:41Z</updated>
		
		<summary type="html">&lt;p&gt;Dmb000006: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;minimus2 is a modified version of the minimus pipeline designed for merging one or two sequence sets (S1,S2). It uses a nucmer based overlap detector which is much faster than the Smith-Waterman hash-overlap program used by minimus.&lt;br /&gt;
&lt;br /&gt;
 Usage:&lt;br /&gt;
 &lt;br /&gt;
  minimus2 prefix  \&lt;br /&gt;
    -D REFCOUNT=n  \  # Number of sequences is the first set&lt;br /&gt;
    -D OVERLAP=n   \  # Minimum overlap (Default 40bp)&lt;br /&gt;
    -D CONSERR=f   \  # Maximum consensus error (0..1) (Def 0.06)&lt;br /&gt;
    -D MINID=n     \  # Minimum overlap %id for align. (Def 94)&lt;br /&gt;
    -D MAXTRIM=n      # Maximum sequence trimming length (Def 20bp)&lt;br /&gt;
&lt;br /&gt;
  prefix is the base name of an [[AFG format]] file.&lt;br /&gt;
&lt;br /&gt;
REFCOUNT should be the set to the number of sequences in the first set in order to align one set against the other (S1:S2). By default REFCOUNT=0 and an all vs all alignment is run (S1+S2:S1+S2 - same as minimus).&lt;br /&gt;
Example:&lt;br /&gt;
Let&amp;#039;s say we have 2 sets (S1 &amp;amp; S2). There are 917 sequences in S1 and 1668 in S2.&lt;br /&gt;
&lt;br /&gt;
  grep -c &amp;quot;^&amp;gt;&amp;quot; S1.seq S2.seq&lt;br /&gt;
    S1.seq:917&lt;br /&gt;
    S2.seq:1668&lt;br /&gt;
&lt;br /&gt;
The sets should be merged and converted to AMOS format:&lt;br /&gt;
&lt;br /&gt;
  cat S1.seq S2.seq &amp;gt; S1-S2.seq&lt;br /&gt;
  toAmos -s S1-S2.seq -o S1-S2.afg&lt;br /&gt;
&lt;br /&gt;
Then minimus2 should be run of the merged set:&lt;br /&gt;
&lt;br /&gt;
  minimus2 S1-S2 -D REFCOUNT=917&lt;br /&gt;
&lt;br /&gt;
Input:&lt;br /&gt;
&lt;br /&gt;
  S1-S2.afg : AMOS message file that contains RED/FRG messages for all the reads in the two datasets.&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
&lt;br /&gt;
  S1-S2.fasta :          contig sequences&lt;br /&gt;
  S1-S2.singletons.seq : singleton sequences&lt;br /&gt;
&lt;br /&gt;
Note: This pipeline has been introduced to the AMOS package starting with the release 2.0.8. If you have an older version of the AMOS package installed, it is highly recommended to upgrade it to the latest version&lt;br /&gt;
&lt;br /&gt;
Alternatively, the new file could be manually downloaded and installed from the following location: [http://amos.cvs.sourceforge.net/*checkout*/amos/AMOS/src/Pipeline/minimus2.acf minimus2]&lt;/div&gt;</summary>
		<author><name>Dmb000006</name></author>	</entry>

	<entry>
		<id>http://amos.sourceforge.net/wiki/index.php/Figaro</id>
		<title>Figaro</title>
		<link rel="alternate" type="text/html" href="http://amos.sourceforge.net/wiki/index.php/Figaro"/>
				<updated>2009-10-28T17:35:33Z</updated>
		
		<summary type="html">&lt;p&gt;Dmb000006: Added a link to the download site. Hello again btw :-)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
 | [[Image:FigaroLogo.png]]&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Figaro is a software tool for identifying and removing the vector from raw DNA sequence data without prior knowledge of the vector sequence.  By statistically modeling short oligonucleotide frequencies within a set of reads, Figaro is able to determine which DNA words are most likely associated with vector sequence.   For a description of Figaro&amp;#039;s algorithms please see our [http://bioinformatics.oxfordjournals.org/cgi/content/full/24/4/462 paper].  You may download Figaro individually, or as part of the [http://sourceforge.net/project/showfiles.php?group_id=134326 AMOS package at SourceForge].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Contributors. ==&lt;br /&gt;
* [http://www.cbcb.umd.edu/~whitej james robert white]&lt;br /&gt;
* michael roberts&lt;br /&gt;
* [http://www.cbcb.umd.edu/~mpop mihai pop]&lt;br /&gt;
* [http://yorke.umd.edu/ james yorke]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
Figaro is released as C++ and Perl source code and should work on any Unix system.  We strongly encourage users to quality trim their data as well using a program such as Lucy.  Lucy can be downloaded [http://sourceforge.net/project/showfiles.php?group_id=134326 here].&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
== Documentation and Data ==&lt;br /&gt;
* [[Figaro User Manual]] - In depth description of how to run&lt;br /&gt;
* [[Figaro Simulated Data]] - Simulated data discussed in our paper.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Keywords. ==&lt;br /&gt;
vector trimmer, vector clipping, vector trimming, open source, AMOS.&lt;/div&gt;</summary>
		<author><name>Dmb000006</name></author>	</entry>

	<entry>
		<id>http://amos.sourceforge.net/wiki/index.php/Minimus/README</id>
		<title>Minimus/README</title>
		<link rel="alternate" type="text/html" href="http://amos.sourceforge.net/wiki/index.php/Minimus/README"/>
				<updated>2009-07-31T09:30:10Z</updated>
		
		<summary type="html">&lt;p&gt;Dmb000006: /* Output */ Fixed a documentaion bug reported by Mark Miller&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;minimus - The AMOS Lightweight Assembler&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Brief Summary ==&lt;br /&gt;
minimus is an assembly pipeline designed specifically for small&lt;br /&gt;
data-sets, such as the set of reads covering a specific gene. Note that&lt;br /&gt;
the code will work for larger assemblies (we have used it to assemble&lt;br /&gt;
bacterial genomes), however, due to its stringency, the resulting assembly&lt;br /&gt;
will be highly fragmented.  For large and/or complex assemblies the execution&lt;br /&gt;
of Minimus should be followed by additional processing steps, such as&lt;br /&gt;
scaffolding.&lt;br /&gt;
&lt;br /&gt;
Minimus follows the Overlap-Layout-Consensus paradigm and consists of&lt;br /&gt;
three main modules:&lt;br /&gt;
&lt;br /&gt;
* overlapper - computes the overlaps between the reads using a modified version of the Smith-Waterman local alignment algorithm&lt;br /&gt;
&lt;br /&gt;
* tigger - uses the read overlaps to generate the layouts of reads representing individual contigs&lt;br /&gt;
&lt;br /&gt;
* make-consensus - refines the layouts produced by the tigger to generate accurate multiple alignments within the reads&lt;br /&gt;
&lt;br /&gt;
==Dependencies==&lt;br /&gt;
None.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Running==&lt;br /&gt;
Either execute the minimus configuration script directly from&lt;br /&gt;
$bindir OR copy it to your local directory, edit it, and run it with&lt;br /&gt;
the `runAmos&amp;#039; command interpreter. The following variables must be set&lt;br /&gt;
on the command line or added to the script for the pipeline to operate&lt;br /&gt;
properly:&lt;br /&gt;
&lt;br /&gt;
       TGT - The target genome sequences in AMOS message format&lt;br /&gt;
&lt;br /&gt;
`minimus -D TGT=&amp;lt;target&amp;gt; &amp;lt;prefix&amp;gt;&amp;#039;&lt;br /&gt;
 OR&lt;br /&gt;
`runAmos -C minimus -D TGT=&amp;lt;target&amp;gt; &amp;lt;prefix&amp;gt;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Where &amp;lt;prefix&amp;gt; will be the output file prefix, and &amp;lt;target&amp;gt; is the&lt;br /&gt;
input AMOS message file. Check the `runAmos&amp;#039; documentation or type&lt;br /&gt;
`runAmos --help&amp;#039; for details on operating an AMOS pipeline. The&lt;br /&gt;
minimus pipeline config file can be easily modified by the user to add&lt;br /&gt;
additional processing steps.&lt;br /&gt;
&lt;br /&gt;
In order to run minimus you need to provide an AMOS formatted file&lt;br /&gt;
of the reads. Such a file (commonly with extension .afg) can be&lt;br /&gt;
generated from a combination of sequence (.seq), quality (.qual), and&lt;br /&gt;
Trace Archive XML (.xml) files using the `tarchive2amos&amp;#039; program which&lt;br /&gt;
will appear in the $bindir directory upon installation.&lt;br /&gt;
&lt;br /&gt;
The default TGT file is &amp;lt;prefix&amp;gt;.afg, thus if our input file is&lt;br /&gt;
&amp;lt;prefix&amp;gt;.afg we can run minimus simply by typing:&lt;br /&gt;
&lt;br /&gt;
`minimus &amp;lt;prefix&amp;gt;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Output ==&lt;br /&gt;
Output will be a TIGR .contig file and a FastA .fasta file. The&lt;br /&gt;
TIGR contig file contains the gapped consensus and multi-alignment&lt;br /&gt;
information for the assembly. Each contig sequence is preceded by a&lt;br /&gt;
header line which starts with &amp;#039;##&amp;#039;, followed by the gapped consensus&lt;br /&gt;
sequence with gaps represented as a &amp;#039;-&amp;#039; character. Following the&lt;br /&gt;
consensus is the gapped read sequence preceded by a header line&lt;br /&gt;
beginning with &amp;#039;#&amp;#039;. The .fasta file contains all the contigs produced&lt;br /&gt;
by AMOScmp in a multi-FastA formatted file. These sequences will match&lt;br /&gt;
the sequences in the .contig file, but without the gaps.&lt;br /&gt;
&lt;br /&gt;
To obtain an ACE format representation of the assembly, we can run&lt;br /&gt;
the following to obtain a &amp;lt;prefix&amp;gt;.ace file:&lt;br /&gt;
&lt;br /&gt;
`bank-report -b &amp;lt;prefix&amp;gt;.bnk CTG &amp;gt; &amp;lt;prefix&amp;gt;.ctg&amp;#039;&lt;br /&gt;
`amos2ace &amp;lt;prefix&amp;gt;.afg &amp;lt;prefix&amp;gt;.ctg&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Where &amp;lt;prefix&amp;gt; is the same as was used in the above section and&lt;br /&gt;
&amp;lt;prefix&amp;gt;.afg is the original input to the assembly pipeline. We can&lt;br /&gt;
simply add these commands to the runAmos config file to produce an ACE&lt;br /&gt;
file every time we run minimus.&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
Assume we have a set of Trace Archive data with the names&lt;br /&gt;
`target.seq&amp;#039;, `target.qual&amp;#039; and `target.xml&amp;#039; which contain the&lt;br /&gt;
sequence information for a small assembly task. To run the minimus&lt;br /&gt;
pipeline and generate the default output, we would type the following:&lt;br /&gt;
&lt;br /&gt;
`tarchive2amos -o  target.seq&amp;#039;&lt;br /&gt;
`minimus -D TGT=target.afg target&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This will generate the default output named `target.contig&amp;#039; and&lt;br /&gt;
`target.fasta&amp;#039;. We could then generate an ACE assembly format file by&lt;br /&gt;
following the instructions in the above section, substituting &amp;quot;target&amp;quot;&lt;br /&gt;
for &amp;quot;&amp;lt;prefix&amp;gt;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Minimus is now packaged with two example assemblies. The two examples&lt;br /&gt;
are an Influenza A assembly and a Zebra Fish Gene assembly under the &amp;#039;test&amp;#039;&lt;br /&gt;
directory. The &amp;#039;test&amp;#039; directory in located in the main AMOS directory after you untar &lt;br /&gt;
the AMOS tarball.&lt;/div&gt;</summary>
		<author><name>Dmb000006</name></author>	</entry>

	<entry>
		<id>http://amos.sourceforge.net/wiki/index.php/Minimus</id>
		<title>Minimus</title>
		<link rel="alternate" type="text/html" href="http://amos.sourceforge.net/wiki/index.php/Minimus"/>
				<updated>2009-07-31T08:56:12Z</updated>
		
		<summary type="html">&lt;p&gt;Dmb000006: /* Examples */ For me, having a simple example to quickly refer to while working at the cmd line is essential. I added a simple example here, along with a few questions!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
&lt;br /&gt;
minimus is an assembly pipeline designed specifically for small data-sets, such as the set of reads covering a specific gene. Note that the code will work for larger assemblies (we have used it to assemble bacterial genomes), however, due to its stringency, the resulting assembly will be highly fragmented. For large and/or complex assemblies the execution of Minimus should be followed by additional processing steps, such as scaffolding.&lt;br /&gt;
&lt;br /&gt;
minimus follows the Overlap-Layout-Consensus paradigm and consists of three main modules:&lt;br /&gt;
&lt;br /&gt;
* [[hash-overlap]] - computes the overlaps between the reads using a modified version of the Smith-Waterman local alignment algorithm&lt;br /&gt;
* [[tigger]] - uses the read overlaps to generate the layouts of reads representing individual contigs&lt;br /&gt;
* [[make-consensus]] - refines the layouts produced by the tigger to generate accurate multiple alignments within the reads&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
minimus uses as AMOS messages as both the inputs and the outputs. Please see the [[File conversion utilities]] documentation for more information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[minimus2]] is a modified version of the minimus pipeline designed for merging two sequence sets. Instead of hash-overlap it uses a nucmer based overlap detector which is much faster.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&lt;br /&gt;
Documentation on running minimus is included with the distribution in the /docs subdirectory.&lt;br /&gt;
&lt;br /&gt;
See [[Minimus/README]].&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
Examples of a flu assembly and a Zebrafish gene can be found in the test/minimus directory created when the AMOS distribution is untarred. Documentation on the examples is included with the distribution in /docs/minimus.README.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Basic usage example  ==&lt;br /&gt;
&lt;br /&gt;
Assuming you have a set of reads in fasta format called &amp;#039;&amp;#039;&amp;#039;my_reads.fasta&amp;#039;&amp;#039;&amp;#039;, and an associated set of read quality scores (in the same order?) called &amp;#039;&amp;#039;&amp;#039;my_reads.qual&amp;#039;&amp;#039;&amp;#039; (Note that in general, Amos expects Phred style quality scores ????).&lt;br /&gt;
&lt;br /&gt;
 toAmos \&lt;br /&gt;
   -s my_reads.fasta \&lt;br /&gt;
   -q my_reads.qual \&lt;br /&gt;
   -o my_reads.afg&lt;br /&gt;
&lt;br /&gt;
 runAmos -C $AMOSBASE/src/Pipeline/minimus.acf my_reads&lt;br /&gt;
&lt;br /&gt;
... &lt;br /&gt;
&lt;br /&gt;
 hawkeye my_reads.bnk/&lt;br /&gt;
&lt;br /&gt;
== Publication ==&lt;br /&gt;
&lt;br /&gt;
[http://www.biomedcentral.com/1471-2105/8/64 Minimus: a fast, lightweight genome assembler]&lt;br /&gt;
&lt;br /&gt;
Sommer, DD, Delcher, AL, Salzberg, SL, and Pop, M. (2007) BMC Bioinformatics, 8:64doi:10.1186/1471-2105-8-64.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Acknowledgements ==&lt;br /&gt;
The development of minimus was supported by the National Institutes of Health under grants R01-LM06845 and R01-LM007938 to SLS and by Department of Homeland Security cooperative agreement W81XWH-05-2-0051.&lt;/div&gt;</summary>
		<author><name>Dmb000006</name></author>	</entry>

	<entry>
		<id>http://amos.sourceforge.net/wiki/index.php/Minimus/README</id>
		<title>Minimus/README</title>
		<link rel="alternate" type="text/html" href="http://amos.sourceforge.net/wiki/index.php/Minimus/README"/>
				<updated>2009-07-31T08:47:46Z</updated>
		
		<summary type="html">&lt;p&gt;Dmb000006: /* Example */ Hey hey!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;minimus - The AMOS Lightweight Assembler&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Brief Summary ==&lt;br /&gt;
minimus is an assembly pipeline designed specifically for small&lt;br /&gt;
data-sets, such as the set of reads covering a specific gene. Note that&lt;br /&gt;
the code will work for larger assemblies (we have used it to assemble&lt;br /&gt;
bacterial genomes), however, due to its stringency, the resulting assembly&lt;br /&gt;
will be highly fragmented.  For large and/or complex assemblies the execution&lt;br /&gt;
of Minimus should be followed by additional processing steps, such as&lt;br /&gt;
scaffolding.&lt;br /&gt;
&lt;br /&gt;
Minimus follows the Overlap-Layout-Consensus paradigm and consists of&lt;br /&gt;
three main modules:&lt;br /&gt;
&lt;br /&gt;
* overlapper - computes the overlaps between the reads using a modified version of the Smith-Waterman local alignment algorithm&lt;br /&gt;
&lt;br /&gt;
* tigger - uses the read overlaps to generate the layouts of reads representing individual contigs&lt;br /&gt;
&lt;br /&gt;
* make-consensus - refines the layouts produced by the tigger to generate accurate multiple alignments within the reads&lt;br /&gt;
&lt;br /&gt;
==Dependencies==&lt;br /&gt;
None.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Running==&lt;br /&gt;
Either execute the minimus configuration script directly from&lt;br /&gt;
$bindir OR copy it to your local directory, edit it, and run it with&lt;br /&gt;
the `runAmos&amp;#039; command interpreter. The following variables must be set&lt;br /&gt;
on the command line or added to the script for the pipeline to operate&lt;br /&gt;
properly:&lt;br /&gt;
&lt;br /&gt;
       TGT - The target genome sequences in AMOS message format&lt;br /&gt;
&lt;br /&gt;
`minimus -D TGT=&amp;lt;target&amp;gt; &amp;lt;prefix&amp;gt;&amp;#039;&lt;br /&gt;
 OR&lt;br /&gt;
`runAmos -C minimus -D TGT=&amp;lt;target&amp;gt; &amp;lt;prefix&amp;gt;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Where &amp;lt;prefix&amp;gt; will be the output file prefix, and &amp;lt;target&amp;gt; is the&lt;br /&gt;
input AMOS message file. Check the `runAmos&amp;#039; documentation or type&lt;br /&gt;
`runAmos --help&amp;#039; for details on operating an AMOS pipeline. The&lt;br /&gt;
minimus pipeline config file can be easily modified by the user to add&lt;br /&gt;
additional processing steps.&lt;br /&gt;
&lt;br /&gt;
In order to run minimus you need to provide an AMOS formatted file&lt;br /&gt;
of the reads. Such a file (commonly with extension .afg) can be&lt;br /&gt;
generated from a combination of sequence (.seq), quality (.qual), and&lt;br /&gt;
Trace Archive XML (.xml) files using the `tarchive2amos&amp;#039; program which&lt;br /&gt;
will appear in the $bindir directory upon installation.&lt;br /&gt;
&lt;br /&gt;
The default TGT file is &amp;lt;prefix&amp;gt;.afg, thus if our input file is&lt;br /&gt;
&amp;lt;prefix&amp;gt;.afg we can run minimus simply by typing:&lt;br /&gt;
&lt;br /&gt;
`minimus &amp;lt;prefix&amp;gt;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Output ==&lt;br /&gt;
Output will be a TIGR .contig file and a FastA .fasta file. The&lt;br /&gt;
TIGR contig file contains the gapped consensus and multi-alignment&lt;br /&gt;
information for the assembly. Each contig sequence is preceded by a&lt;br /&gt;
header line which starts with &amp;#039;##&amp;#039;, followed by the gapped consensus&lt;br /&gt;
sequence with gaps represented as a &amp;#039;-&amp;#039; character. Following the&lt;br /&gt;
consensus is the gapped read sequence preceded by a header line&lt;br /&gt;
beginning with &amp;#039;#&amp;#039;. The .fasta file contains all the contigs produced&lt;br /&gt;
by AMOScmp in a multi-FastA formatted file. These sequences will match&lt;br /&gt;
the sequences in the .contig file, but without the gaps.&lt;br /&gt;
&lt;br /&gt;
To obtain an ACE format representation of the assembly, we can run&lt;br /&gt;
the following to obtain a &amp;lt;prefix&amp;gt;.ace file:&lt;br /&gt;
&lt;br /&gt;
`bank-report -b &amp;lt;prefix&amp;gt;.bank CTG &amp;gt; &amp;lt;prefix&amp;gt;.ctg&amp;#039;&lt;br /&gt;
`amos2ace &amp;lt;prefix&amp;gt;.afg &amp;lt;prefix&amp;gt;.ctg&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Where &amp;lt;prefix&amp;gt; is the same as was used in the above section and&lt;br /&gt;
&amp;lt;prefix&amp;gt;.afg is the original input to the assembly pipeline. We can&lt;br /&gt;
simply add these commands to the runAmos config file to produce an ACE&lt;br /&gt;
file every time we run minimus.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
Assume we have a set of Trace Archive data with the names&lt;br /&gt;
`target.seq&amp;#039;, `target.qual&amp;#039; and `target.xml&amp;#039; which contain the&lt;br /&gt;
sequence information for a small assembly task. To run the minimus&lt;br /&gt;
pipeline and generate the default output, we would type the following:&lt;br /&gt;
&lt;br /&gt;
`tarchive2amos -o  target.seq&amp;#039;&lt;br /&gt;
`minimus -D TGT=target.afg target&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This will generate the default output named `target.contig&amp;#039; and&lt;br /&gt;
`target.fasta&amp;#039;. We could then generate an ACE assembly format file by&lt;br /&gt;
following the instructions in the above section, substituting &amp;quot;target&amp;quot;&lt;br /&gt;
for &amp;quot;&amp;lt;prefix&amp;gt;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Minimus is now packaged with two example assemblies. The two examples&lt;br /&gt;
are an Influenza A assembly and a Zebra Fish Gene assembly under the &amp;#039;test&amp;#039;&lt;br /&gt;
directory. The &amp;#039;test&amp;#039; directory in located in the main AMOS directory after you untar &lt;br /&gt;
the AMOS tarball.&lt;/div&gt;</summary>
		<author><name>Dmb000006</name></author>	</entry>

	</feed>