Coder Social home page Coder Social logo

segvis's Introduction

Segvis: A package for visualization of high throughout sequencing data along genomic segments

This is an R package which attemps to automatize some tasks related to the visualization of aligned read data.

Segvis provides different tools to summarize and visualize data:

  • Extract read data of specified input regions

  • Plot peaks of different conditions across the same set of regions

  • Plot central measures for a set of regions with the same width

  • Subset regions according to used defined annotations

  • Plot the heatmap of signal curves accross regions separated by annotation

segvis's People

Contributors

welch16 avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

segvis's Issues

PET reads

Fix PET case, the reads need to be matched by qname (between strands and omit considering the fragLen)

Segvis

Change name of profile, profileMatrix and profileMatrixList to Segvis.... , also change name of the package to Segvis

plot_matrix

Add a function that the whole profile matrix instead of building it by chunks of plot_data

loadReads

Sometimes loadReads doesn't work when reading with non-null param and pre-specified regions

Chromosomes

Add option to include "human" or "mouse" chromosomes in advance. Otherwise the user should specify the chromosomes in a vector in advance

potential issue in getCoverage

I am not sure whether you have fixed this, but it seems like if match object is empty for one chromosome, getCoverage will return an error.

Such empty set issue is very common in R/Matlab code, I hope other methods in the package do not have the same issue.

Heatmap

Add function to make histone profiles heatmaps

ordered by signal

order the peaks in the heatmap by the raw number of counts of one mark or all

Fraglen empty

Fix fragLen to the case where we want the reads that overlap with a regions as is i.e. without extending

make profile object useful for things other than drawing profile plot

This package is very fast in reading and loading.

It will be a waste if it can only be used in drawing profile plot.

The information in the profile object can be used in other analysis such as differential analysis.

For example, the read counts of the regions under consideration can be calculated by the following function

getCounts <- function(object){
fl <- object@fragLen
rf <- resize(unlist(readsF(object)),fl)
rr <- resize(unlist(readsR(object)),fl)
reads <- c(rf,rr)
regions <- object@regions
counts <- countOverlaps(regions,reads)
object@regions$counts <- counts
return(object)
}

The regions do not have to have the same width.

This is not the best way to do it, because it uses countOverlaps.
Actually the match object in the profile object already have similar information.
The only issue is that the match object store the id of the reads overlap with each region plus the extended window region.
If match object can be modified slightly, one can get counts easily.

Also, the naming and id of the lists in match object depend on the order of the the regions under consideration. It may be better if each region is given a region ID, and use the region ID to group and name everything else, e.g., to group the reads that overlap each region. In this way, it may be easier to focus on a subset of the regions under consideration.

This is only an example showing how useful segvis package could be even when profile plot is not the primary concern.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.