-
Notifications
You must be signed in to change notification settings - Fork 6
Step 1: Description of output files needed for generating chr_array
Luca Santuari edited this page Feb 5, 2020
·
1 revision
script: clipped_read_pos.py
output: clipped_read_pos.json.gz (type: GZip JSON format)
content:
- tuple with:
- left_clipped_pos_cnt: dict, keys: chromosome names -> Counter object (python module: collections) with keys:positions, values: count of left clipped reads
- right_clipped_pos_cnt: dict, keys: chromosome names -> Counter object (python module: collections) with keys:positions, values: count of right clipped reads
script: split_reads.py
output: split_reads.json.gz (type: GZip JSON format)
content:
- tuple with
- positions_with_min_support_ls: dict, keys: chromosome names -> list with positions where the number of left split reads >= min_support
- positions_with_min_support_rs: dict, keys: chromosome names -> list with positions where the number of right split reads >= min_support
- total_reads_coord_min_support: list of tuples (chr1, pos1, chr2, pos2) where both pos1 and pos2 have number of supporting reads >= min_support
- supporting reads: left split reads, right split reads or reads with CIGAR 'D' for DEL >= 50bp
- split_reads: dict of dict of dict (3 nested dict)
- 1st level dict keys: chromosome names; values: 2nd level dict
- 2nd level dict keys: "right_F" for right split Forward reads, "left_F" for left split Forward reads, "right_R" for right split Reverse reads, "left_R" for left split Reverse reads; values: 3rd level dict
- 3rd level dict keys: positions; values: count of split reads according to 2nd level key
- split_read_distance: dict of dict of dict (3 nested dict)
- 1st level dict keys: chromosome names; values: 2nd level dict
- 2nd level dict keys: "right_F" for right split Forward reads, "left_F" for left split Forward reads, "right_R" for right split Reverse reads, "left_R" for left split Reverse reads; values: 3rd level dict
- 3rd level dict keys: positions; values: list of absolute distances between the split read positions for reads satisfying the 2nd level key
script: clipped_reads.py
output: clipped_reads.json.gz (type: GZip JSON format)
content:
- tuple with (clipped_reads, clipped_reads_inversion, clipped_reads_duplication, clipped_reads_translocation)
- clipped_reads: dict of dict of dict (3 nested dict)
- 1st level dict keys: chromosome names; values: 2nd level dict
-
2nd level dict keys: ['left_F', 'left_R', 'right_F', 'right_R',
'disc_right_F', 'disc_right_R', 'disc_left_F', 'disc_left_R',
'D_left_F', 'D_left_R', 'D_right_F', 'D_right_R',
'I_F', 'I_R'] values: 3rd level dict
- 'left_F': left clipped Forward reads
- 'left_R': left clipped Reverse reads
- 'right_F': right clipped Forward reads
- 'right_R': right clipped Reverse reads
- 'disc_right_F': discordant right clipped Forward reads
- 'disc_right_R': discordant right clipped Reverse reads
- 'disc_left_F': discordant left clipped Forward reads
- 'disc_left_R': discordant left clipped Reverse reads
- 'D_left_F': Forward reads with CIGAR 'D', leftmost DEL position
- 'D_left_R': Reverse reads with CIGAR 'D', leftmost DEL position
- 'D_right_F': Forward reads with CIGAR 'D', rightmost DEL position
- 'D_right_R': Reverse reads with CIGAR 'D', rightmost DEL position
- 'I_F': Forward reads with CIGAR 'I', leftmost INS position
- 'I_R': Reverse reads with CIGAR 'I', leftmost INS position
- 3rd level dict keys: positions; values: count of reads according to 2nd level key
- clipped_reads_inversion: dict of dict of dict (3 nested dict)
- 1st level dict keys: chromosome names; values: 2nd level dict
-
2nd level dict keys: ['before', 'after'] values: 3rd level dict
- 'before': reads in read pairs in FF (Forward-Forward) or RR (Reverse-Reverse) orientation where the mate is mapped before the read, both reads are mapped on the same chromosome
- 'after': reads in read pairs in FF (Forward-Forward) or RR (Reverse-Reverse) orientation where the mate is mapped after the read, both reads are mapped on the same chromosome
- 3rd level dict keys: positions; values: count of reads according to 2nd level key
- clipped_reads_duplication: dict of dict of dict (3 nested dict)
- 1st level dict keys: chromosome names; values: 2nd level dict
-
2nd level dict keys: ['before', 'after'] values: 3rd level dict
- 'before': reads in read pairs in FR (Forward-Reverse) orientation where the mate is mapped before the read, both reads are mapped on the same chromosome
- 'after': reads in read pairs in RF (Reverse-Forward) orientation where the mate is mapped after the read, both reads are mapped on the same chromosome
- 3rd level dict keys: positions; values: count of reads according to 2nd level key
- clipped_reads_translocation: dict of dict of dict (3 nested dict)
- 1st level dict keys: chromosome names; values: 2nd level dict
-
2nd level dict keys: ['opposite', 'same'] values: 3rd level dict
- 'opposite': reads in FR (Forward-Reverse) or RF (Reverse-Forward) orientation, read and mate are mapped on the different chromosomes
- 'same': reads in FF (Forward-Forward) or RR (Reverse-Reverse) orientation, read and mate are mapped on the different chromosomes
- 3rd level dict keys: positions; values: count of reads according to 2nd level key
script: coverage.py
output: [chromosome_name]_coverage.npy.gz (type: GZip Numpy format)
content:
- Numpy array with shape (4, chromosome_length):
- row 1: read coverage for reads mapping on the same chromosome in opposite orientation
- row 2: read coverage for discordant Forward reads. Discordant reads are determined by is_proper_pair set by bwa mem according to the fragment length distribution. Make sure you are using a recent version of bwa for the mapping. Older versions of BWA set proper pair flag based only correct chromosome and orientation and not on the estimated fragment length distribution.
- row 3: read coverage for discordant Reverse reads
- row 4: mean read mapping quality (MAPQ)
script: snv.py
output: [chromosome_name]_snv.npy.gz (type: GZip Numpy format)
content:
- Numpy array with shape (2, chromosome_length):
- row 1: median base quality
- row 2: SNV frequency: number of bases different from the reference over the total number of bases
script: clipped_read_distance.py
output: [chromosome_name]_clipped_read_distance.json.gz (type: GZip JSON format)
content:
- clipped_read_distance: dict of dict of dict (3 nested dict)
- 1st level dict keys: forward or reverse read orientation; values: 2nd level dict
-
2nd level dict keys: ['left', 'right', 'all'] values: 3rd level dict
- 'left': absolute distance between left clipped read and mate (leftmost position)
- 'right': absolute distance between right clipped read and mate (leftmost position)
- 'all': absolute distance between read (all, both clipped and not clipped) and mate (leftmost position)
- 3rd level dict keys: positions; values: list of distances for reads according to 2nd level key