nimbioseq

Nim Library for sequence (protein/nucleotide) bioinformatics


Keywords
bioinformatics, fasta, fastq
License
BSD-1-Clause
Install
nimble install nimbioseq

Documentation

Search:

Group by: Section Type

-   Imports
-   Types
    -   Record
-   Procs
    -   reverseComplement
    -   toFasta
    -   toFastq
    -   length
    -   kmer2num
    -   num2kmer
    -   toKmerFrequency
    -   gc
    -   ambiguous
    -   translate
-   Iterators
    -   compressedLines
    -   readFasta
    -   readFastq
    -   readSeqs

Nim routines for processing DNA/RNA/Protein sequences



IMPORTS


sequtils, strutils, math, tables, osproc, streams



TYPES


    Record* = object
      id*: string
      description*: string
      quality*: string
      sequence*: string

This type represents a genetic sequence with optional quality



PROCS


    proc reverseComplement*(self: Record): Record

    proc toFasta*(self: Record; lineLength = 60): string

returns FASTA formatted string of sequence record
    proc toFastq*(self: Record; qualityValue = 0): string

returns FASTQ formatted string of sequence record with optional quality
value to be applied to sequence
    proc length*(self: Record): int

returns length of sequence
    proc kmer2num*(kmer: string): int

converts a kmer string into an integer 0..4^(len-1)
    proc num2kmer*(num, klen: int): string

converts an integer into a kmer string given the number and length of
kmer
    proc toKmerFrequency*(self: Record; klen: int; includeComplement = false): seq[int]

returns (overlapping) kmer frequencies of a nucleotide sequence
    proc gc*(self: Record): int

returns the number of bases that are G or C
    proc ambiguous*(self: Record): int

returns the number of bases that are not AGCTU
    proc translate*(self: Record; code = 1): Record

translates a nucleotide sequence with the given genetic code number



ITERATORS


    iterator compressedLines*(filename: string): string

iterator to read lines of a (maybe) compressed text file transparently
    iterator readFasta*(filename: string): Record

iterator to iterate over the FASTA records in a file
    iterator readFastq*(filename: string): Record

iterator to iterate over the FASTQ records in a file
    iterator readSeqs*(filename: string): Record

Made with Nim. Generated: 2017-10-27 17:47:31 UTC