from csamtools import *
+from ctabix import *
+import csamtools
+import ctabix
+from cvcf import *
+import cvcf
import Pileup
import sys
import os
self.parsers = parsers
self.stderr = []
- def __call__(self,*args, **kwargs):
- '''execute the samtools command
+ def __call__(self, *args, **kwargs):
+ '''execute a samtools command
'''
retval, stderr, stdout = csamtools._samtools_dispatch( self.dispatch, args )
if retval: raise SamtoolsError( "\n".join( stderr ) )
# Note that there is sometimes output on stderr that is not an error,
# for example: [sam_header_read2] 2 sequences loaded.
# Ignore messages like these
- stderr = [ x for x in stderr if not x.startswith( "[sam_header_read2]" ) ]
+ stderr = [ x for x in stderr \
+ if not (x.startswith( "[sam_header_read2]" ) or \
+ x.startswith("[bam_index_load]") or \
+ x.startswith("[bam_sort_core]") or \
+ x.startswith("[samopen] SAM header is present") )
+ ]
if stderr: raise SamtoolsError( "\n".join( stderr ) )
# call parser for stdout:
#
# import is a python reserved word.
SAMTOOLS_DISPATCH = {
+ # samtools 'documented' commands
"view" : ( "view", None ),
"sort" : ( "sort", None),
- "samimport": ( "import", None),
- "pileup" : ( "pileup", ( (("-c",), Pileup.iterate ), ), ),
+ "mpileup" : ( "mpileup", None),
+ "depth" : ("depth", None),
"faidx" : ("faidx", None),
"tview" : ("tview", None),
"index" : ("index", None),
+ "idxstats" : ("idxstats", None),
"fixmate" : ("fixmate", None),
- "glfview" : ("glfview", None),
"flagstat" : ("flagstat", None),
"calmd" : ("calmd", None),
"merge" : ("merge", None),
- "rmdup" : ("rmdup", None) }
+ "rmdup" : ("rmdup", None),
+ "reheader" : ("reheader", None),
+ "cat" : ("cat", None),
+ "targetcut" : ("targetcut", None),
+ "phase" : ("phase", None),
+ # others
+ "samimport": ( "import", None),
+ "bam2fq" : ("bam2fq", None),
+ # obsolete
+ # "pileup" : ( "pileup", ( (("-c",), Pileup.iterate ), ), ),
+
+ }
# instantiate samtools commands as python functions
for key, options in SAMTOOLS_DISPATCH.iteritems():
globals()[key] = SamtoolsDispatcher(cmd, parser)
# hack to export all the symbols from csamtools
-__all__ = csamtools.__all__ + [ "SamtoolsError", "SamtoolsDispatcher" ] + list(SAMTOOLS_DISPATCH) +\
- ["Pileup",]
-
+__all__ = \
+ csamtools.__all__ + \
+ ctabix.__all__ + \
+ cvcf.__all__ +\
+ [ "SamtoolsError", "SamtoolsDispatcher" ] + list(SAMTOOLS_DISPATCH) +\
+ ["Pileup" ]
+
+from version import __version__, __samtools_version__