Matt:LabNotes/2014-10-30

From ZhangLabWiki
Jump to navigation Jump to search

Design FISSEQ Padlock Probeset for in situ cDNA Capture[edit]

Get Genes[edit]

Build Target File for ppDesigner[edit]

Biomart: Get Exon Locations for Genes on Reference Genome[edit]

  • Use 450 HUGO names as input
  • GRCh38/hg38 reference genome
  • Unfortunately when try to output 'Associated Gene Name' (aka HUGO Official Gene Symbol) Biomart gave error so had to output Ensembl Gene IDs
    • Some LRG (locus reference genome) gene names and HSCHR (haplotype variants) outputted so will filter those out
  • Output parameters:
    • Ensembl Gene ID
    • Ensembl Transcript ID
    • Chromosome
    • Exon Rank
    • Exon Start (bp)
    • Exon End (bp)
    • Strand

Create Hash to convert Ensembl to HUGO[edit]

  • Using media:TopDiffExpGenes_1000hNucDataset_09252014.xlsx created hash table for converting Ensembl IDs to HUGO since Biomart output had to be ENSG
    • Hash naturally removes duplicates but also checked to see if there was gene names that didn't match 1-to-1
      • ENSG000000236922 matched to LINC01378 and AC092661.1 but since these were removed from the final 450 genes can ignore
    • Hash size is 541 which agrees with the 542 Genes counted when duplicates removed plus taking into considering the ambiguity of ENSG000000236922
  • This code can be seen in top block of CreateTargetFile.pl

Create Target File: Target is contigs of overlapping exons[edit]

  • Wrote perl script to convert biomart output to target file
    • input: mart_export.txt
    • output: target_file.txt
    • General idea is to create intervals or contigs of exons based on overlapping start/end position
 foreach exon
   if (start position > current end position)

save current start/end position as an interval/contig start new interval/contig with this start/end position elsif (end position > current end position) set this end position as current end position

  • Tested with one gene and two genes consisting of multiple overlapping exons
    • Runs with warnings but behaves correctly
    • Hash for converting Ensembl to HUGO missed a few genes due to multiple Ensembl Gene IDs for same HUGO IDs so had to do them manually
      • NEFL
      • KCNMB2
      • KLRD1
  • sortTargetFilesByChr.pl
    • Removes 25bp from each end of target
    • Switch strand from + to - and - to +
    • Also runs with warnings that 'given' and 'when' are experimental

Create Target File v2: Target consitutive exons (no crossing exon boundaries)[edit]

  • Changed the algorithm to only select intervals that don't contain boundaries of exons (like constitutive exons but doesn't have to be present in all transcripts)
    • Ordered all boundaries from least to great regardless if start or stop
      • In another array of equal size kept track of whether it was start or stop boundary
    • Selected intervals that on the left have a start boundary and on the right has a stop boundary with no boundaries in the middle
  • CreateTargetFile_v2.pl
    • input: biomart_export.txt
    • output: target_file_v2.txt
  • Tested with one gene and two genes consisting of multiple overlapping exons
    • Runs with warnings but behaves correctly
    • Hash for converting Ensembl to HUGO missed a few genes due to multiple Ensembl Gene IDs for same HUGO IDs so had to do them manually
      • CCDC144A
      • KCNMB2
      • KLRD1
      • NBPF15
      • NEFL
  • sortTargetFilesByChr.pl
    • Removes 25bp from each end of target
    • Switch strand from + to - and - to +
    • Also runs with warnings that 'given' and 'when' are experimental

Run ppDesigner[edit]

  • Commands
 nohup /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/opt/ppDesigner/src/ppDesigner.pl /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/jobFile_chr1.pl > /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/outputFile_chr1.txt &
 nohup /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/opt/ppDesigner/src/ppDesigner.pl /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/jobFile_chr2.pl > /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/outputFile_chr2.txt &
 nohup /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/opt/ppDesigner/src/ppDesigner.pl /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/jobFile_chr3.pl > /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/outputFile_chr3.txt &
 nohup /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/opt/ppDesigner/src/ppDesigner.pl /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/jobFile_chr4.pl > /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/outputFile_chr4.txt &
 nohup /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/opt/ppDesigner/src/ppDesigner.pl /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/jobFile_chr5.pl > /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/outputFile_chr5.txt &
 nohup /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/opt/ppDesigner/src/ppDesigner.pl /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/jobFile_chr6.pl > /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/outputFile_chr6.txt &
 nohup /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/opt/ppDesigner/src/ppDesigner.pl /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/jobFile_chr7.pl > /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/outputFile_chr7.txt &
 nohup /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/opt/ppDesigner/src/ppDesigner.pl /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/jobFile_chr8.pl > /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/outputFile_chr8.txt &
 nohup /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/opt/ppDesigner/src/ppDesigner.pl /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/jobFile_chr9.pl > /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/outputFile_chr9.txt &
 nohup /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/opt/ppDesigner/src/ppDesigner.pl /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/jobFile_chr10.pl > /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/outputFile_chr10.txt &
 nohup /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/opt/ppDesigner/src/ppDesigner.pl /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/jobFile_chr11.pl > /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/outputFile_chr11.txt &
 nohup /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/opt/ppDesigner/src/ppDesigner.pl /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/jobFile_chr12.pl > /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/outputFile_chr12.txt &
 nohup /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/opt/ppDesigner/src/ppDesigner.pl /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/jobFile_chr13.pl > /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/outputFile_chr13.txt &
 nohup /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/opt/ppDesigner/src/ppDesigner.pl /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/jobFile_chr14.pl > /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/outputFile_chr14.txt &
 nohup /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/opt/ppDesigner/src/ppDesigner.pl /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/jobFile_chr15.pl > /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/outputFile_chr15.txt &
 nohup /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/opt/ppDesigner/src/ppDesigner.pl /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/jobFile_chr16.pl > /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/outputFile_chr16.txt &
 nohup /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/opt/ppDesigner/src/ppDesigner.pl /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/jobFile_chr17.pl > /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/outputFile_chr17.txt &
 nohup /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/opt/ppDesigner/src/ppDesigner.pl /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/jobFile_chr18.pl > /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/outputFile_chr18.txt &
 nohup /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/opt/ppDesigner/src/ppDesigner.pl /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/jobFile_chr19.pl > /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/outputFile_chr19.txt &
 nohup /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/opt/ppDesigner/src/ppDesigner.pl /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/jobFile_chr20.pl > /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/outputFile_chr20.txt &
 nohup /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/opt/ppDesigner/src/ppDesigner.pl /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/jobFile_chr21.pl > /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/outputFile_chr21.txt &
 nohup /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/opt/ppDesigner/src/ppDesigner.pl /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/jobFile_chr22.pl > /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/outputFile_chr22.txt &
 nohup /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/opt/ppDesigner/src/ppDesigner.pl /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/jobFile_chrX.pl > /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/outputFile_chrX.txt &

Errors that had to be dealt with[edit]

 Name "main::exon_info_file" used only once: possible typo at /home/mzcai/scratch/FISSEQ_cDNA_ProbeDesign/opt/ppDesigner/src/ppDesigner.pl line 23.
  • This is just a warning
 Very small chromosome detected.  FASTA file chr1 sequence most likely not correctly loaded!
  • Had to change probe_sequences.pl to search for files that ended in ".fa.masked" or wtv the filename suffix of reference sequence file
 substr outside of string at (eval 12) line 44.
 Use of uninitialized value $gSeq in length at (eval 12) line 49.
 Use of uninitialized value $target_sequence in length at (eval 13) line 14.
 Use of uninitialized value $target_sequence in length at (eval 13) line 20.
 Illegal division by zero at (eval 13) line 20.
  • Got this error at end of output for chr17 and chr20
    • Turns out the reference genome I was using was hg19 when Biomart export was based on hg38
      • hg38 has longer chr17 and chr20 so the exon locations were out of bounds for hg19 reference
    • Downloaded hg38 and used that

Consolidate OutputFiles and Convert to 0gap[edit]

  • Concatenate output files into 1 file: outputFile_1gap.txt
 cat outputFile_chr*.txt > outputFile_1gap.txt

Filter Out Bad Probes[edit]

  • Align probes to reference genome and mRNA
 perl  Probes2fasta.pl < outputFile_0gap.txt > outputFile_0gap.fa
 /home/kunzhang/softwares/Novocraft/novocraft/novoalign -d /home/kunzhang/RNAseq/Data/CommonFiles/refMrna.ndx -f outputFile_0gap.fa -F FA -r ALL > outputFile_0gap_novoalign_refMrna.out &
 /home/kunzhang/softwares/Novocraft/novocraft/novoalign -d /home/kunzhang/softwares/Novocraft/novocraft/human_g1k_v37 -f outputFile_0gap.fa -F FA -r ALL > outputFile_0gap_novoalign_human_g1k_v37.out &
 
  • Filter out probes that map to multiple locations in genome or don't map to refMrna
 perl  CleanupProbelist.pl
  • 3,933 probes
    • 431 genes
    • 3,117 exons
  • Must still filter out probes that target regions with low coverage based on RNA-seq data
    • Sequencing data for transcripts from bulk tissue Brodmann Area 8,10,17,21,22,41
 /media/LTS_33T/RL_LTS33T/201404_201405_7Samples_BulkNucleiBatch1-20140623_Expt146/STAR/