Tree [46d4e3] default /
History



File Date Author Commit
bamtools 2012-04-05 Kris Popendorf Kris Popendorf [8e3784] finalizing move to newer bamtools
debian 2012-04-19 Kris Popendorf Kris Popendorf [b3ba90] package tweaking
redist.bamtools 2012-04-05 Kris Popendorf Kris Popendorf [8e3784] finalizing move to newer bamtools
redist.samtools 2012-04-05 Kris Popendorf Kris Popendorf [197105] migrating in new bamtools, and making errors mo...
resource 2012-04-15 Kris Popendorf Kris Popendorf [655fe4] desktop category
rpm 2012-04-19 Kris Popendorf Kris Popendorf [46d4e3] package tweaking
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-04-18 Kris Popendorf Kris Popendorf [d04ce6] Added tag release-1.6.6.7 for changeset ad060c0...
COPYING 2011-07-14 Kris Popendorf Kris Popendorf [58fe75] Don't forget composer func headers. also AGPL l...
Changelog 2012-04-18 Kris Popendorf Kris Popendorf [ad060c] ack forgot non-deb changelog
LICENSE 2012-02-15 Kris Popendorf Kris Popendorf [86595b] Including license terms in each file, just to b...
README 2012-02-19 Kris Popendorf Kris Popendorf [1e5736] adjusted docs, and adjusted behavior to match
SConstruct 2012-04-17 Kris Popendorf Kris Popendorf [e287e2] clipboard seems stable. clipboard only debug sw...
annotation.cc 2012-02-15 Kris Popendorf Kris Popendorf [86595b] Including license terms in each file, just to b...
annotation.hh 2012-02-15 Kris Popendorf Kris Popendorf [86595b] Including license terms in each file, just to b...
bamcoverage.cc 2012-04-05 Kris Popendorf Kris Popendorf [756f21] more version change updates
bamcoverage.hh 2012-04-05 Kris Popendorf Kris Popendorf [197105] migrating in new bamtools, and making errors mo...
bamdraw.cc 2012-04-18 Kris Popendorf Kris Popendorf [bdd3e9] fixed whacky forward/reverse counts on base con...
bamdraw.hh 2012-04-18 Kris Popendorf Kris Popendorf [cad45e] read loading notification looks snazzier
bamidx.sh 2012-02-11 Kris Popendorf Kris Popendorf [127cb9] careful to use bash not sh=>dash
bamsort.sh 2012-02-10 Kris Popendorf Kris Popendorf [fcbd90] ready to shade blocks based on mutation status
bigtoy.gtf 2010-11-26 Kris Popendorf Kris Popendorf [05f043] well, GTF loading appears to work. It's crazy s...
bigtoy.sam 2010-11-07 Kris Popendorf Kris Popendorf [ebb1f0] adding gl code. old libraries are ugly. should ...
boosthacks.hh 2012-02-15 Kris Popendorf Kris Popendorf [86595b] Including license terms in each file, just to b...
colormap.cc 2012-02-15 Kris Popendorf Kris Popendorf [86595b] Including license terms in each file, just to b...
colormap.hh 2012-02-15 Kris Popendorf Kris Popendorf [86595b] Including license terms in each file, just to b...
coverage-func.hh 2012-02-15 Kris Popendorf Kris Popendorf [86595b] Including license terms in each file, just to b...
coverage.cc 2012-04-10 Kris Popendorf Kris Popendorf [716a58] lots of new checks for file mapping on 32bit pl...
coverage.hh 2012-04-05 Kris Popendorf Kris Popendorf [197105] migrating in new bamtools, and making errors mo...
covgl.cc 2012-02-15 Kris Popendorf Kris Popendorf [86595b] Including license terms in each file, just to b...
dinkymath.cc 2012-02-15 Kris Popendorf Kris Popendorf [86595b] Including license terms in each file, just to b...
dinkymath.hh 2012-04-18 Kris Popendorf Kris Popendorf [bdd3e9] fixed whacky forward/reverse counts on base con...
drawcoverage.cc 2012-04-03 Kris Popendorf Kris Popendorf [2d7f80] custom link types working
drawcoverage.hh 2012-04-16 Kris Popendorf Kris Popendorf [b73206] somewhat bigger quality graph
drawgl.cc 2012-04-18 Kris Popendorf Kris Popendorf [19ad83] quality graph is huge
drawgl.hh 2012-04-18 Kris Popendorf Kris Popendorf [607e4c] separate windows now means it's safe to actuall...
exceptions.hh 2012-02-16 Kris Popendorf Kris Popendorf [98a0b3] ramping up for clipboard bits
filealloc.cc 2012-04-10 Kris Popendorf Kris Popendorf [716a58] lots of new checks for file mapping on 32bit pl...
filealloc.hh 2012-02-15 Kris Popendorf Kris Popendorf [86595b] Including license terms in each file, just to b...
globaltypes.hh 2012-02-15 Kris Popendorf Kris Popendorf [86595b] Including license terms in each file, just to b...
glvec.hh 2012-02-15 Kris Popendorf Kris Popendorf [86595b] Including license terms in each file, just to b...
gtfcoverage.cc 2012-02-15 Kris Popendorf Kris Popendorf [86595b] Including license terms in each file, just to b...
gtfcoverage.hh 2012-02-15 Kris Popendorf Kris Popendorf [86595b] Including license terms in each file, just to b...
itree.hh 2012-04-18 Kris Popendorf Kris Popendorf [cad45e] read loading notification looks snazzier
magicreader.cc 2012-02-16 Kris Popendorf Kris Popendorf [0beef3] more detailed boost library checking.
magicreader.hh 2012-02-16 Kris Popendorf Kris Popendorf [0beef3] more detailed boost library checking.
options.cc 2012-04-03 Kris Popendorf Kris Popendorf [3d1449] allow faux-single-end drawing via commandline o...
options.hh 2012-04-03 Kris Popendorf Kris Popendorf [3d1449] allow faux-single-end drawing via commandline o...
peaks.cc 2012-02-15 Kris Popendorf Kris Popendorf [86595b] Including license terms in each file, just to b...
peaks.hh 2012-02-15 Kris Popendorf Kris Popendorf [86595b] Including license terms in each file, just to b...
rawstream.cc 2012-02-15 Kris Popendorf Kris Popendorf [86595b] Including license terms in each file, just to b...
rawstream.hh 2012-02-15 Kris Popendorf Kris Popendorf [86595b] Including license terms in each file, just to b...
renderhints.cc 2012-04-08 Kris Popendorf Kris Popendorf [8b4dbf] debug notes accidentally left in. yuck.
renderhints.hh 2012-04-05 Kris Popendorf Kris Popendorf [197105] migrating in new bamtools, and making errors mo...
sam2bam.sh 2012-02-11 Kris Popendorf Kris Popendorf [127cb9] careful to use bash not sh=>dash
samcoverage.cc 2012-04-05 Kris Popendorf Kris Popendorf [197105] migrating in new bamtools, and making errors mo...
samcoverage.hh 2012-02-15 Kris Popendorf Kris Popendorf [86595b] Including license terms in each file, just to b...
samkludge.hh 2012-02-15 Kris Popendorf Kris Popendorf [86595b] Including license terms in each file, just to b...
samscope.pod 2012-04-03 Kris Popendorf Kris Popendorf [2dfc2a] documentation update
tabcoverage.cc 2012-02-15 Kris Popendorf Kris Popendorf [86595b] Including license terms in each file, just to b...
tabcoverage.hh 2012-02-15 Kris Popendorf Kris Popendorf [86595b] Including license terms in each file, just to b...
timing.cc 2012-02-15 Kris Popendorf Kris Popendorf [86595b] Including license terms in each file, just to b...
timing.hh 2012-04-18 Kris Popendorf Kris Popendorf [cad45e] read loading notification looks snazzier
toy.sam 2010-11-07 Kris Popendorf Kris Popendorf [ebb1f0] adding gl code. old libraries are ugly. should ...
toy2.sam 2010-11-26 Kris Popendorf Kris Popendorf [fd080d] ok, going for annotation first due to popular d...
vec.cc 2012-02-15 Kris Popendorf Kris Popendorf [86595b] Including license terms in each file, just to b...
vec.hh 2012-02-15 Kris Popendorf Kris Popendorf [86595b] Including license terms in each file, just to b...
vlinc.h 2010-11-07 Kris Popendorf Kris Popendorf [1f8807] COmpiles. removed dependency on vl library
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 2012-02-15 Kris Popendorf Kris Popendorf [86595b] Including license terms in each file, just to b...

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.