illumina

package module
v0.0.0-...-01c343e Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 9, 2017 License: BSD-3-Clause Imports: 7 Imported by: 0

README

bíogo

Illumina

Build Status

Installation

    $ go get github.com/biogo/illumina/...

Overview

Illumina is a set of utilities for handling Illumina™ sequencing data.

Citing

If you use bíogo, please cite Kortschak and Adelson "bíogo: a simple high-performance bioinformatics toolkit for the Go language", doi:10.1101/005033.

Library Structure and Coding Style

The coding style should be aligned with normal Go idioms as represented in the Go core libraries.

Copyright ©2011-2013 The bíogo Authors except where otherwise noted. All rights reserved. Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.

The bíogo logo is derived from Bitstream Charter, Copyright ©1989-1992 Bitstream Inc., Cambridge, MA.

BITSTREAM CHARTER is a registered trademark of Bitstream Inc.

Documentation

Overview

Package illumina provides support for handling Illumina read metadata.

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrBadIdentifer = errors.New("illumina: unable to parse identifier")
	ErrBadTag       = errors.New("illumina: illegal multiplex tag")
)

Functions

func BinCompress

func BinCompress(s seq.Scorer, c Scheme) error

BinCompress lossily compresses the qualities of a seq.Scorer according to the the provided compression Scheme, c. If c is nil, the default Scheme is used. The approach used by BinCompress is described in the Illumina whitepaper at http://www.illumina.com/Documents/products/whitepapers/whitepaper_datacompression.pdf with the exception that N is presumed from based quality. Solexa qualities are handled by translating via a calculated E value.

Types

type Coordinate

type Coordinate struct {
	X, Y int
}

A Coordinate represents a cluster location in an Illumina flow-cell lane.

type Interface

type Interface interface {
	Name() string
	Description() string
}

type Metadata

type Metadata struct {
	Type        Type
	Instrument  string     // Unique instrument name.
	Run         int        // Run id, -1 if not valid.
	FlowCell    string     // Flowcell id.
	Lane        int8       // Flowcell lane.
	Tile        int        // Tile number within the flowcell lane.
	Coordinate  Coordinate // Coordinate of the cluster within the tile.
	Mate        int8       // Member of a pair, 1 or 2 for paired reads.
	BadRead     bool       // Read failed filter.
	ControlBits int        // 0 when none of the control bits are on, otherwise it is an even number, -1 if not valid.
	Multiplex   Multiplex  // Multiplexing information.
}

A Metadata represents Illumina read metadata.

func Parse

func Parse(r Interface) (Metadata, error)

Parse parses the name and description fields of an Illumina identifier represented by r. An error is returned if the input does not conform to the pre-Casava or Casava identifier formats.

type Multiplex

type Multiplex struct {
	Index int8   // Index is -1 if not valid.
	Tag   string // Tag is empty if not valid.
}

A Multiplex represents multiplexing tag information.

type Scheme

type Scheme *[256]alphabet.Qphred
var DefaultCompression Scheme = defaultCompression

DefaultCompression uses the quality compression scheme described in the Illumina white paper :

Old Quality Score   New Quality score
      0-1                   0
      2–9                   6
     10–19                 15
     20–24                 22
     25–29                 27
     30–34                 33
     35–39                 37
      ≥ 40                 40

type Type

type Type int
const (
	Undefined Type = iota
	PreCasava
	Casava
)

func (Type) String

func (t Type) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL