Zhengdeng Lei, PhD

Zhengdeng Lei, PhD

2009 - Present Research Fellow at Duke-NUS, Singapore
2007 - 2009 High Throughput Computational Analyst, Memorial Sloan-Kettering Cancer Center, New York
2003 - 2007 PhD, Bioinformatics, University of Illinois at Chicago

Tuesday, May 29, 2012

http://smd.stanford.edu/gp/pages/protocols/ClassDiscovery_consensus.html

Best practice is to normalize the data being clustered
ZL: usually done by standardizing on row (gene) then on column (array),  or 




  • Adjust Cycle 1) log transform ##### skip this step if RMA

  • Adjust Cycle 2) median center genes and arrays 
  • repeat (2) five to ten times  #### like median polish 

  • Adjust Cycle 3) normalize genes and arrays
  • repeat (3) five to ten times

  • see cluster3 (http://db.tt/fKAluEip treeview) documentation.



    http://bonsai.hgc.jp/~mdehoon/software/cluster/manual/Data.html#Data




    Consensus Clustering

    protocols
    Determine an optimal number of clusters by repeatedly running a selected clustering algorithm. Examine the resulting consensus matrix to assess the stability of the resulting clusters.

    Before you begin

    Gene expression data must be in a GCT or RES file.
    Example file: all_aml_test.gct.
    learn more:
    file formats

    Step 1: PreprocessDataset

    Preprocess gene expression data to remove platform noise and genes that have little variation. Although researchers generally preprocess data before clustering if doing so removes relevant biological information, skip this step.
    CONSIDERATIONS
    • PreprocessDataset can preprocess the data in one or more ways (in this order):
      1. Set threshold and ceiling values. Any value lower/higer than the threshold/ceiling value is reset to the threshold/ceiling value.
      2. Convert each expression value to the log base 2 of the value.
      3. Remove genes (rows) if a given number of its sample values are less than a given threshold.
      4. Remove genes (rows) that do not have a minimum fold change or expression variation.
      5. Discretize or normalize the data.
    • When using ratios to compare gene expression between samples, convert values to log base 2 of the value to bring up- and down-regulated genes to the same scale. For example, ratios of 2 and .5 indicating two-fold changes for up- and down-regulated expression, respectively, are converted to +1 and -1.
    • If you did not generate the expression data, check whether preprocessing steps have already been taken before running the PreprocessDataset module.
    learn more:
    PreprocessDataset

    Step 2: ConsensusClustering

    ConsensusClustering runs a selected clustering algorithm (by default, hierarchical clustering) against perturbations of the gene expression data a selected number of times (by default, 20). It assesses the stability of the resulting clusters by creating a consensus matrix.
    For every pair of objects, the matrix records the number of times both are assigned to the same cluster divided by the number of times both are in the perturbed data set. A consensus matrix where all values are 0 or 1 corresponds to perfect consensus.
    CONSIDERATIONS
    • ConsensusClustering clusters genes or samples, not both.
    • ConsensusClustering groups objects (genes or samples) into k clusters. It groups objects into two clusters, then three clusters, up to the maximum number of clusters specified by the kmaxparameter (by default, 5). The module builds a separate consensus matrix for each set of clusters.
    • Best practice is to normalize the data being clustered (normalize type parameter).
    learn more:
    ConsensusClustering

    Step 3: HeatMapViewer

    Run the HeatMapViewer module to view the consensus matrices. The consensus matrix is formatted as a GCT file. The HeatMapViewer displays the consensus matrix as a heat map. A consensus matrix where all values are dark blue (0) or dark red (1) corresponds to perfect consensus.
    CONSIDERATIONS
    • For more about the consensus matrix and its interpretation, see Monti et al., 2003.
    • ConsensusClustering also creates a text file (*.clu) listing the items belonging to each cluster, text files (*.clsdist, *.stdev) listing the cluster statistics, and a .pdf file showing statistical plots (Lorenz curve, Gini index, Consensus CDF) that can be used to determine the best number of clusters. To display any of these files, click the file.

    Thursday, May 24, 2012

    MAS5


    QC
    rm(list=ls())
    library(affy)
    library(simpleaffy)
    setwd("/home/leiz/SG201")

    data <- ReadAffy()
    data <- ReadAffy()

    data.mas5 <- mas5(data)
    ## Or you can try mas5
    genes <- log2(as.matrix(exprs(data.mas5 )))
    write.table(genes, file="SG201.mas5.txt", sep="\t")

    gastric cancer


    Statistics
    This year, an estimated 21,320 adults (13,020 men and 8,300 women) in the United States will be diagnosed with stomach cancer. It is estimated that 10,540 deaths (6,190 men and 4,350 women) from this disease will occur this year.
    The incidence of stomach cancer varies in different parts of the world. Although it is decreasing in the Western world, it is still one of the most common cancer types worldwide.
    The five-year survival rate (percentage of people who survive at least five years after the cancer is detected, excluding those who die from other diseases) of people with stomach cancer is about 26%. This statistic reflects the fact that most people with stomach cancer are diagnosed after the cancer has already spread to other parts of the body. If stomach cancer is found before it has spread, the five-year survival rate is generally higher but depends on the stage of the cancer found during surgery.
    Cancer survival statistics should be interpreted with caution. These estimates are based on data from thousands of people with this type of cancer in the United States each year, but the actual risk for a particular individual may differ. It is not possible to tell a person how long he or she will live with stomach cancer. Because the survival statistics are measured in five-year intervals, they may not represent advances made in the treatment or diagnosis of this cancer. Learn more about understanding statistics.
    Statistics adapted from the American Cancer Society's publication, Cancer Facts & Figures 2012.




    Survival
    Most patients still present with advanced disease, and their survival remains poor. From 1999 to 2006, only 23% of patients with gastric cancer presented with localized disease. The relative 5-year survival rate for gastric cancer of all stages is 26%.

    Tuesday, May 22, 2012

    NGS training @GIS - continued




    ###########day 2 de novo assemble


    PATH=/mnt/software/assemblers/velvet:/usr/local/samtools:/usr/local/samtools/bcftools:/mnt/software/mappers/bwa:$PATH

    #1. create simulated data
    cd ~/refgenome
    /mnt/software/mappers/samtools/samtools-0.1.7/misc/wgsim reference.fa NC_1.fastq NC_2.fastq
    cd ~/prj2
    mv ../refgenome/NC_*.fastq ./
    shuffleSequences_fastq.pl ./NC_1.fastq ./NC_2.fastq NC.fastq

    #2. velvet
    velveth velvet 21 -fastq -shortPaired NC.fastq
    velvetg velvet -ins_length 300 -exp_cov 1 -read_trkg yes -amos_file yes



    #############day 2 ANNOVAR
    PATH=$PATH:/home/javeda/ANNOVAR/annovar
    cd ~/prj3
    cp ../prj1/var.filt.vcf ./
    convert2annovar.pl ./var.filt.vcf -format vcf4 -includeinfo >var.filt.vcf.avinput
    awk 'BEGIN {FS="\t"} {$1="chr17"; $2=$2+46000000; $3=$3+46000000; print}' var.filt.vcf.avinput >variant1.avinput

    #Gene-based annotation
    annotate_variation.pl -buildver hg19 variant1.avinput /home/javeda/ANNOVAR/annovar/humandb/
    more variant1.avinput.exonic_variant_function

    #Region-based annotation
    annotate_variation.pl -dbtype band -regionanno  -buildver hg19 variant1.avinput /home/javeda/ANNOVAR/annovar/humandb/
    more variant1.avinput.hg19_cytoBand

    #Filter-based annotation
    annotate_variation.pl -buildver hg19 -filter -dbtype snp131 variant1.avinput /home/javeda/ANNOVAR/annovar/humandb/
    more variant1.avinput.hg19_cytoBand

    #snps found in dbsnp131
    more variant1.avinput.hg19_snp131_dropped

    #snps not in dbsnp131
    more variant1.avinput.hg19_snp131_filtered