Matt:LabNotes/2014-10-30
Jump to navigation
Jump to search
Design FISSEQ Padlock Probeset for in situ cDNA Capture[edit]
Get Genes[edit]
- Took all HUGO gene names from TopDiffExpGenes_1000hNucDataset_09252014.xlsx and removed duplicates
- Result: 542 Genes
- 378 Duplicates removed
- Result: 542 Genes
- Removed all genes with names that had: "-", "AC###.#", "AS", "RP", "RNA", "MT" ...
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
- Hash naturally removes duplicates but also checked to see if there was gene names that didn't match 1-to-1
- 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
- Ordered all boundaries from least to great regardless if start or stop
- 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
- Turns out the reference genome I was using was hg19 when Biomart export was based on hg38
Consolidate OutputFiles and Convert to 0gap[edit]
- Concatenate output files into 1 file: outputFile_1gap.txt
cat outputFile_chr*.txt > outputFile_1gap.txt
- ConvertToZeroGapProbe.pl
- 5,174 probes designed
- 443 genes
- 4,055 exons
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/