def buildAltMouseExonAnnotations(species,array_type,force,genomic_build): """Code required to: 1) Extract out Affymetrix provided exon sequence (probeset sequence extracted from "probeset_sequence_reversed.txt", derived directly from the Affymetrix AltMouse probe annotation file), from the "SEQUENCE-transcript-dbase.txt" (built using dump-chip1 .gff sequence and AltMerge-Peptide Informatics script "sequence_analysis_AltMouse_refseq.py"). 2) Once exported, grab full length exon sequences using exon/intron coordinates matches to full-length gene sequences with 2kb flanking sequence to efficiently predict microRNA binding site exclusion (reAnnotateCriticalExonSequences) and later for coordinate mapping to get exons aligning with UCSC annotated splicing annotations and exons. This sequence data replaced the previous file (don't need to re-run this - see rederive_exonseq == 'yes' below for reference). 3) Match the updated exon sequences to the most recent genomic coordinates and build the exact equivalent of the exon array Mm_Ensembl_probeset.txt database (same structure and ExonArrayEnsemblRules.py code). This involves running EnsemblImport. This code should be run before the exon array location build code since the "Mm_Ensembl_probeset.txt" is created and then re- written as "Mm_AltMouse_Ensembl_probeset.txt". """ from build_scripts import JunctionArray from build_scripts import JunctionArrayEnsemblRules rederive_exonseq = 'no' ### Only needs to be run once, to export exon sequence for AltMouse array the original (1 and 2 above) if rederive_exonseq == 'yes': import AltAnalyze from import_scripts import ExonAnnotate_module from build_scripts import ExonAnalyze_module agglomerate_inclusion_probesets = 'no'; onlyAnalyzeJunctions='no' probeset_annotations_file = "AltDatabase/"+species+"/"+array_type+"/"+"MASTER-probeset-transcript.txt" verifyFile(probeset_annotations_file,array_type) ### Will force download if missing exon_db={}; filtered_arrayids={};filter_status='no' constituitive_probeset_db,exon_db,genes_being_analyzed = AltAnalyze.importSplicingAnnotationDatabase(probeset_annotations_file,array_type,filtered_arrayids,filter_status) alt_junction_db,critical_exon_db,exon_dbase,exon_inclusion_db,exon_db = ExonAnnotate_module.identifyPutativeSpliceEvents(exon_db,constituitive_probeset_db,{},agglomerate_inclusion_probesets,onlyAnalyzeJunctions) ExonAnnotate_module.exportJunctionComparisons(alt_junction_db,critical_exon_db,exon_dbase) print "Finished exporting junctions used in AltMouse array comparisons." ExonAnalyze_module.exportAltMouseExonSequence() JunctionArray.reAnnotateCriticalExonSequences(species,array_type) ### Get UCSC associations (download databases if necessary) mRNA_Type = 'mrna'; run_from_scratch = 'yes' export_all_associations = 'no' ### YES only for protein prediction analysis buildUCSCAnnoationFiles(species,mRNA_Type,export_all_associations,run_from_scratch,force) reannotate_exon_seq = 'yes' print 'genomic_build', genomic_build if genomic_build == 'new': ### Need to run with every new genomic build (match up new coordinates print "Begining to derive exon sequence from new genomic build" JunctionArray.identifyCriticalExonLocations(species,array_type) reannotate_exon_seq = 'yes' JunctionArrayEnsemblRules.getAnnotations(species,array_type,reannotate_exon_seq,force) ### Download files required during AltAnalyze analysis but not during the database build process filename = "AltDatabase/"+species+"/"+array_type+"/"+"MASTER-probeset-transcript.txt" verifyFile(filename,array_type) ### Will force download if missing filename = "AltDatabase/"+species+'/'+ array_type+'/'+array_type+"_annotations.txt" verifyFile(filename,array_type) ### Will force download if missing
def buildAltMouseExonAnnotations(species,array_type,force,genomic_build): """Code required to: 1) Extract out Affymetrix provided exon sequence (probeset sequence extracted from "probeset_sequence_reversed.txt", derived directly from the Affymetrix AltMouse probe annotation file), from the "SEQUENCE-transcript-dbase.txt" (built using dump-chip1 .gff sequence and AltMerge-Peptide Informatics script "sequence_analysis_AltMouse_refseq.py"). 2) Once exported, grab full length exon sequences using exon/intron coordinates matches to full-length gene sequences with 2kb flanking sequence to efficiently predict microRNA binding site exclusion (reAnnotateCriticalExonSequences) and later for coordinate mapping to get exons aligning with UCSC annotated splicing annotations and exons. This sequence data replaced the previous file (don't need to re-run this - see rederive_exonseq == 'yes' below for reference). 3) Match the updated exon sequences to the most recent genomic coordinates and build the exact equivalent of the exon array Mm_Ensembl_probeset.txt database (same structure and ExonArrayEnsemblRules.py code). This involves running EnsemblImport. This code should be run before the exon array location build code since the "Mm_Ensembl_probeset.txt" is created and then re- written as "Mm_AltMouse_Ensembl_probeset.txt". """ import JunctionArray import JunctionArrayEnsemblRules rederive_exonseq = 'no' ### Only needs to be run once, to export exon sequence for AltMouse array the original (1 and 2 above) if rederive_exonseq == 'yes': import AltAnalyze import ExonAnnotate_module import ExonAnalyze_module agglomerate_inclusion_probesets = 'no'; onlyAnalyzeJunctions='no' probeset_annotations_file = "AltDatabase/"+species+"/"+array_type+"/"+"MASTER-probeset-transcript.txt" verifyFile(probeset_annotations_file,array_type) ### Will force download if missing exon_db={}; filtered_arrayids={};filter_status='no' constituitive_probeset_db,exon_db,genes_being_analyzed = AltAnalyze.importSplicingAnnotationDatabase(probeset_annotations_file,array_type,filtered_arrayids,filter_status) alt_junction_db,critical_exon_db,exon_dbase,exon_inclusion_db,exon_db = ExonAnnotate_module.identifyPutativeSpliceEvents(exon_db,constituitive_probeset_db,{},agglomerate_inclusion_probesets,onlyAnalyzeJunctions) ExonAnnotate_module.exportJunctionComparisons(alt_junction_db,critical_exon_db,exon_dbase) print "Finished exporting junctions used in AltMouse array comparisons." ExonAnalyze_module.exportAltMouseExonSequence() JunctionArray.reAnnotateCriticalExonSequences(species,array_type) ### Get UCSC associations (download databases if necessary) mRNA_Type = 'mrna'; run_from_scratch = 'yes' export_all_associations = 'no' ### YES only for protein prediction analysis buildUCSCAnnoationFiles(species,mRNA_Type,export_all_associations,run_from_scratch,force) reannotate_exon_seq = 'yes' print 'genomic_build', genomic_build if genomic_build == 'new': ### Need to run with every new genomic build (match up new coordinates print "Begining to derive exon sequence from new genomic build" JunctionArray.identifyCriticalExonLocations(species,array_type) reannotate_exon_seq = 'yes' JunctionArrayEnsemblRules.getAnnotations(species,array_type,reannotate_exon_seq,force) ### Download files required during AltAnalyze analysis but not during the database build process filename = "AltDatabase/"+species+"/"+array_type+"/"+"MASTER-probeset-transcript.txt" verifyFile(filename,array_type) ### Will force download if missing filename = "AltDatabase/"+species+'/'+ array_type+'/'+array_type+"_annotations.txt" verifyFile(filename,array_type) ### Will force download if missing