Menu

Tree [59800f] default tip /
 History

Read Only access


File Date Author Commit
 bamtools unknown
 debian 2012-11-19 Kris Popendorf Kris Popendorf [d7f07b] update changelogs
 redist.bamtools unknown
 redist.samtools unknown
 resource 2012-04-15 Kris Popendorf Kris Popendorf [655fe4] desktop category
 rpm 2012-04-19 Kris Popendorf Kris Popendorf [b5d184] packaging/building fixes
 samtools 2012-04-11 Kris Popendorf Kris Popendorf [cb6d28] almost there I think...
 .hgignore 2012-04-15 Kris Popendorf Kris Popendorf [b81f40] adding desktop files
 .hgtags 2012-11-19 Kris Popendorf Kris Popendorf [59800f] Added tag release-1.6.6.91 for changeset d7f07b...
 COPYING unknown
 Changelog 2012-11-19 Kris Popendorf Kris Popendorf [d7f07b] update changelogs
 LICENSE unknown
 README unknown
 SConstruct 2012-05-03 Kris Popendorf Kris Popendorf [f5d97f] scons fix for environs without getconf (eg. mac)
 annotation.cc unknown
 annotation.hh 2012-10-24 Kris Popendorf Kris Popendorf [933409] compiler compatibility
 bamcoverage.cc unknown
 bamcoverage.hh unknown
 bamdraw.cc 2012-04-20 Kris Popendorf Kris Popendorf [9711bd] oops. unused variable.
 bamdraw.hh 2012-04-18 Kris Popendorf Kris Popendorf [cad45e] read loading notification looks snazzier
 bamidx.sh 2012-04-20 Kris Popendorf Kris Popendorf [0f9de3] adding window res as commandline option
 bamsort.sh unknown
 bigtoy.gtf unknown
 bigtoy.sam unknown
 boosthacks.hh unknown
 colormap.cc unknown
 colormap.hh unknown
 coverage-func.hh unknown
 coverage.cc unknown
 coverage.hh 2012-10-24 Kris Popendorf Kris Popendorf [933409] compiler compatibility
 covgl.cc unknown
 dinkymath.cc unknown
 dinkymath.hh 2012-04-18 Kris Popendorf Kris Popendorf [bdd3e9] fixed whacky forward/reverse counts on base con...
 drawcoverage.cc 2012-04-20 Kris Popendorf Kris Popendorf [cf2d37] resolution commandline options working nicely
 drawcoverage.hh 2012-10-24 Kris Popendorf Kris Popendorf [71dafc] push minor release
 drawgl.cc 2012-11-19 Kris Popendorf Kris Popendorf [db4f74] merge from remote
 drawgl.hh 2012-11-19 Kris Popendorf Kris Popendorf [db4f74] merge from remote
 exceptions.hh unknown
 filealloc.cc unknown
 filealloc.hh unknown
 globaltypes.hh unknown
 glvec.hh unknown
 gtfcoverage.cc unknown
 gtfcoverage.hh 2012-10-24 Kris Popendorf Kris Popendorf [933409] compiler compatibility
 itree.hh 2012-04-18 Kris Popendorf Kris Popendorf [cad45e] read loading notification looks snazzier
 magicreader.cc unknown
 magicreader.hh unknown
 options.cc unknown
 options.hh unknown
 peaks.cc unknown
 peaks.hh unknown
 rawstream.cc unknown
 rawstream.hh unknown
 renderhints.cc unknown
 renderhints.hh unknown
 sam2bam.sh unknown
 samcoverage.cc unknown
 samcoverage.hh unknown
 samkludge.hh unknown
 samscope.pod 2012-04-20 Kris Popendorf Kris Popendorf [527742] doc update
 tabcoverage.cc unknown
 tabcoverage.hh unknown
 timing.cc unknown
 timing.hh 2012-04-18 Kris Popendorf Kris Popendorf [cad45e] read loading notification looks snazzier
 toy.sam unknown
 toy2.sam unknown
 vec.cc unknown
 vec.hh unknown
 vlinc.h unknown
 xclip.cc 2012-04-18 Kris Popendorf Kris Popendorf [bdd3e9] fixed whacky forward/reverse counts on base con...
 xclip.hh 2012-04-18 Kris Popendorf Kris Popendorf [40c34b] each clip writer now opens its own window for w...
 ximap.hh unknown

Read Me

== Description ==

Samscope is a lightweight SAM/BAM file viewer that makes visually
exploring next generation sequencing data intuitive and maybe even
fun!

Samscope uses multiple layers so simultaneously (or sequentially) view
SAM/BAM related features like coverage or allele frequency, or
ChIP-SEQ features like polarity. Individual reads will be drawn if BAM
indexes are available.

== Building ==

To build samscope from source, there's a few requirements:
  C++ compiler of your choice (tested with gcc 4.2, 4.3, 4.4)
  scons ( http://www.scons.org/ )
  boost >= 1.34 ( http://www.boost.org )
  GLUT and OpenGL libraries appropriate for your distribution (we strongly recommend freeglut ( http://freeglut.sourceforge.net/ )
  CMake (for building bamtools. http://www.cmake.org )

 *Optional, but Recommended:
  libxmu-dev (for clipboard support (part of Xorg))
  libdevil-dev (for screenshots http://openil.sourceforge.net/ )
  zlib-dev for handling compressed files
  perl (for viewing/compiling the POD documentation) 

Bamtools and Samtools libraries are also required, but we include them in our
distribution, so we encourage you to use the copies in our distribution.

Once you have all the required packages, building should consist of:
 scons

That's it. If you have multiple cores with which to compile, you may
want to use something like:
 scons -j8

If you're vehemently opposed to installing perl, you can skip the
manpage generation and just build samscope:
 scons samscope
See 'scons -h' for a complete list of build options.

You can install to /usr/local/bin/ (or whatever you set with BINDIR)
using:
 scons install
or
 scons install BINDIR=~/bin
to install to your home directory.

== Running ==

Running samscope can be as simple as

 ./samscope test1.bam

This would run all the preprocessing to do a basic coverage display of
test1.sam.  Samscope can generate a wide variety of data layers such
as polarity (very helpful for ChIP-SEQ data). To generate these other
layers use options such as:

 ./samscope --buildpolarity test1.bam

A full set of options can be viewed via

 ./samscope --help

Some layers (such as the base specific layers like baseA/baseC and
major/minor allele frequencies) require bam inputs, due to differences
in the bamtools/samtools libraries. We recommend using BAM for
everything when possible, so we've included a sam2bam converter which
can be used as:

 ./sam2bam test1.sam

This will generate test1.bam.

== Controls ==

Samscope uses keyboard+mouse style interface without any GUI buttons
to click. The control scheme tries to borrow from classic X window manager
styles. The important parts to remember include:

 * Middle mouse button pans the screen.
 * Right mouse button zooms.
 ** The point you click at is used as an origin around which to zoom, so it
    will stay in a fixed position.
 * Left mouse button is for "tools" like Zoom or Ruler.
 ** Clicking on a peak will automatically zoom to the extents of the peak.
 * Mouse actions ignore the vertical axis unless Shift is held while moving.
 * 'h' toggles help display with a detailed list of controls.
 * 'n' toggles display of navigational state (where you are, what's being
   displayed right now).
 * 'q' quits.

Keyboard commands (like 'c' (color-mode) or ']' (next layer)) are used
to modify the current display state.

== Documentation ==

Consult "perldoc samscope" or "man samscope" if available.  Also,
http://samscope.dna.bio.keio.ac.jp/wiki/ has more detailed
explainations and extra information for the curious.

== Questions ==

Feel free to contact the authors at samscope@dna.bio.keio.ac.jp if you
have questions.
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.