Finds Synteny in a Sequence Database

Share:

Description

Finds syntenic blocks between groups of sequences in a database.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
FindSynteny(dbFile,
            tblName = "Seqs",
            identifier = "",
            useFrames = FALSE,
            alphabet = c("MF", "ILV", "A", "C", "WYQHP", "G", "TSN", "RK", "DE"),
            geneticCode = GENETIC_CODE,
            sepCost = -0.01,
            gapCost = -0.2,
            shiftCost = -20,
            codingCost = -3,
            maxSep = 5000,
            maxGap = 5000,
            minScore = 200,
            dropScore = -100,
            maskRepeats = TRUE,
            storage = 0.5,
            processors = 1,
            verbose = TRUE)

Arguments

dbFile

A SQLite connection object or a character string specifying the path to the database file.

tblName

Character string specifying the table where the sequences are located.

identifier

Optional character string used to narrow the search results to those matching a specific identifier. If "" then all identifiers are selected.

useFrames

Logical specifying whether to use 6-frame amino acid translations to help find more distant hits. If FALSE (the default) then faster but less sensitive to distant homology.

alphabet

Character vector of amino acid groupings used to reduce the 20 standard amino acids into smaller groups. Alphabet reduction helps to find more distant homologies between sequences. A non-reduced amino acid alphabet can be used by setting alphabet equal to AA_STANDARD.

geneticCode

Either a character vector giving the genetic code to use in translation, or a list containing one genetic code for each identifier. If a list is provided then it must be named by the corresponding identifiers in the database.

sepCost

Cost per nucleotide separation between hits to apply when chaining hits into blocks.

gapCost

Cost for gaps between hits to apply when chaining hits into blocks.

shiftCost

Cost for shifting between different reading frames when chaining reduced amino acid hits into blocks.

codingCost

Cost for switching between coding and non-coding hits when chaining hits into blocks.

maxSep

Maximal separation (in nucleotides) between hits in the same block.

maxGap

The maximum number of gaps between hits in the same block.

minScore

The minimum score required for a chain of hits to become a block.

dropScore

The change from maximal score required to stop extending blocks.

maskRepeats

Logical specifying whether to “soft” mask repeats when searching for hits.

storage

Excess gigabytes available to store objects so that they do not need to be recomputed in later steps. This should be a number between zero and a (modest) fraction of the available system memory. Note that more than storage gigabytes may be required, but will not be stored for later reuse.

processors

The number of processors to use, or NULL to automatically detect and use all available processors.

verbose

Logical indicating whether to display progress.

Details

Long nucleotide sequences, such as genomes, are often not collinear, or may be composed of many smaller segments (e.g., contigs). FindSynteny searches for “hits” between sequences that can be chained into collinear “blocks” of synteny. Hits are defined as k-mer exact nucleotide matches or k-mer matches in a reduced amino acid alphabet (if useFrames is TRUE). Hits are chained into blocks as long as they are: (1) within the same sequence, (2) within maxSep and maxGap distance, and (3) help maintain the score above minScore. Blocks are extended from their first and last hit until their score drops below dropScore from the maximum that was reached. This process results in a set of hits and blocks stored in an object of class “Synteny”.

Value

An object of class “Synteny”.

Author(s)

Erik Wright DECIPHER@cae.wisc.edu

See Also

AlignSynteny, Synteny-class

Examples

1
2
3
4
db <- system.file("extdata", "Influenza.sqlite", package="DECIPHER")
synteny <- FindSynteny(db, useFrames=TRUE, minScore=50)
synteny
pairs(synteny) # scatterplot matrix

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.