Tree [f91d4c] default release-1.6.1 /
History



File Date Author Commit
bamtools 2011-10-17 Kris Popendorf Kris Popendorf [a91b06] not finding install files properly...
debian 2012-02-13 Kris Popendorf Kris Popendorf [f91d4c] version bump for ILUT dependency update
samtools unknown
.hgignore 2012-02-07 Kris Popendorf Kris Popendorf [fe69ea] ignore more
.hgtags 2012-02-13 Kris Popendorf Kris Popendorf [73c5e4] Added tag release-1.6.0 for changeset dfaad75a3873
COPYING unknown
Changelog 2012-02-13 Kris Popendorf Kris Popendorf [f91d4c] version bump for ILUT dependency update
README 2012-02-13 Kris Popendorf Kris Popendorf [15aa7a] readme note about zlib
SConstruct 2012-02-13 Kris Popendorf Kris Popendorf [4f8336] merge again
annotation.cc 2012-01-23 Kris Popendorf Kris Popendorf [0d8ff2] another speedometer fix. was calling it wrong.
annotation.hh 2012-01-16 Kris Popendorf Kris Popendorf [2f58a3] bedgraph works. added multiply option
bamcoverage.cc 2012-02-13 Kris Popendorf Kris Popendorf [7d4b28] ahhh fixed stupid super-tall bar graphs (dumb m...
bamcoverage.hh 2012-02-13 Kris Popendorf Kris Popendorf [22e223] woo, fixed reference inference
bamdraw.cc 2012-02-13 Kris Popendorf Kris Popendorf [3a6fe4] documentation update. looks ready to fly.
bamdraw.hh 2012-02-12 Kris Popendorf Kris Popendorf [97d3a2] ahh problem with md tag parsing
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 2011-10-27 Kris Popendorf Kris Popendorf [16ec4c] OOps. left in a debug mark.
colormap.cc 2010-11-08 Kris Popendorf Kris Popendorf [dcdfba] ahh glut is indeed somewhat clumsier...
colormap.hh 2010-11-08 Kris Popendorf Kris Popendorf [dcdfba] ahh glut is indeed somewhat clumsier...
coverage-func.hh 2012-02-02 Kris Popendorf Kris Popendorf [d3273a] writing works, but ends with large weird value....
coverage.cc 2012-02-11 Kris Popendorf Kris Popendorf [127cb9] careful to use bash not sh=>dash
coverage.hh 2012-02-09 Kris Popendorf Kris Popendorf [6069e8] ahhh, trouble was brewing with invalid points t...
covgl.cc 2010-11-08 Kris Popendorf Kris Popendorf [92aff9] oof. C++ brick wall. want dynamic typic please\!
dinkymath.cc 2012-02-11 Kris Popendorf Kris Popendorf [98a4a0] gcc 4.6 debug compatible build.
dinkymath.hh 2012-02-08 Kris Popendorf Kris Popendorf [b1c6c7] ugh, itree doesn't support copy...so annoying...
drawcoverage.cc 2012-02-13 Kris Popendorf Kris Popendorf [3a6fe4] documentation update. looks ready to fly.
drawcoverage.hh 2012-02-13 Kris Popendorf Kris Popendorf [f91d4c] version bump for ILUT dependency update
drawgl.cc 2012-02-13 Kris Popendorf Kris Popendorf [420533] merging dev trees
drawgl.hh 2012-02-13 Kris Popendorf Kris Popendorf [3a6fe4] documentation update. looks ready to fly.
exceptions.hh 2012-02-07 Kris Popendorf Kris Popendorf [e02351] well, I think that covers the primitive basics...
filealloc.cc 2012-02-02 Kris Popendorf Kris Popendorf [1c9b57] pull out debug marks
filealloc.hh 2012-01-26 Kris Popendorf Kris Popendorf [aa0018] Fixed input counting. Mid-way through fixing mi...
globaltypes.hh 2012-02-11 Kris Popendorf Kris Popendorf [354040] bamtools pair stuff is ok
glvec.hh 2012-02-08 Kris Popendorf Kris Popendorf [1aa5ac] broken string drawing...
gtfcoverage.cc 2012-01-24 Kris Popendorf Kris Popendorf [0b009c] really regretting splitting prelayer now...
gtfcoverage.hh 2012-01-24 Kris Popendorf Kris Popendorf [0b009c] really regretting splitting prelayer now...
itree.hh 2012-02-12 Kris Popendorf Kris Popendorf [c83bd6] lots of errors to fix...
magicreader.cc 2010-11-26 Kris Popendorf Kris Popendorf [fd080d] ok, going for annotation first due to popular d...
magicreader.hh 2011-12-14 Kris Popendorf Kris Popendorf [8e3449] adding parser for flat files
options.cc 2012-02-09 Kris Popendorf Kris Popendorf [ca252f] working perfectly. was simply a problem that in...
options.hh 2012-02-03 Kris Popendorf Kris Popendorf [a06305] adding file options to sambam
peaks.cc 2011-07-21 Kris Popendorf Kris Popendorf [f8c8f1] fixed a long standing bug where zooming in on 0...
peaks.hh 2011-01-21 Kris Popendorf Kris Popendorf [f71db7] that should make automated peak drawing easier
rawstream.cc 2010-12-05 Kris Popendorf Kris Popendorf [e2716b] ok, screw this ostringstream crap. writting my ...
rawstream.hh 2010-12-05 Kris Popendorf Kris Popendorf [c096ad] possibly effective...?
renderhints.cc 2012-02-13 Kris Popendorf Kris Popendorf [3d22c6] draw mouse over hints from renderhints
renderhints.hh 2012-02-13 Kris Popendorf Kris Popendorf [3d22c6] draw mouse over hints from renderhints
sam2bam.sh 2012-02-11 Kris Popendorf Kris Popendorf [127cb9] careful to use bash not sh=>dash
samcoverage.cc 2012-01-24 Kris Popendorf Kris Popendorf [0b009c] really regretting splitting prelayer now...
samcoverage.hh 2011-12-15 Kris Popendorf Kris Popendorf [c86839] moving sam bits out of coverage.cc
samkludge.hh 2011-04-18 Kris Popendorf Kris Popendorf [6f2a25] ok, compiles. filterheader isn't really useful ...
samscope.pod 2012-02-13 Kris Popendorf Kris Popendorf [3a6fe4] documentation update. looks ready to fly.
tabcoverage.cc 2012-01-24 Kris Popendorf Kris Popendorf [0b009c] really regretting splitting prelayer now...
tabcoverage.hh 2011-12-15 Kris Popendorf Kris Popendorf [91268d] revising speedometers to PID controllers...
test.cc unknown
timing.cc 2012-01-24 Kris Popendorf Kris Popendorf [ee4c33] tighter bounds on timer pid...
timing.hh 2012-01-23 Kris Popendorf Kris Popendorf [9e3383] ETA timers and large files explicitly supported
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 2010-11-07 Kris Popendorf Kris Popendorf [a231c0] also, replaced vl with my own vector based impl...
vec.hh 2012-02-11 Kris Popendorf Kris Popendorf [af0791] spurious gl errors
vlinc.h 2010-11-07 Kris Popendorf Kris Popendorf [1f8807] COmpiles. removed dependency on vl library
ximap.hh 2012-02-08 Kris Popendorf Kris Popendorf [b1c6c7] ugh, itree doesn't support copy...so annoying...

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.

== 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 )
 libdevil-dev ( http://openil.sourceforge.net/ )
 GLUT and OpenGL libraries appropriate for your distribution (we strongly recommend freeglut ( http://freeglut.sourceforge.net/ )
 zlib-dev for handling compressed files
 CMake (for building bamtools. http://www.cmake.org )
 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.