public class HaplotypeGeneMetricsPlugin
Class to analyse haplotype coverage of genes. Currently it takes a directory of files, one per genotype, that contain the list of ref range ids that appear in the haplotypes table for that genotype. This was created via the sql query: (first get list of gamete_grp_ids for each genotype), then for each gamete_grp_id do:
select haplotypes.ref_range_id from haplotypes INNER JOIN reference_ranges on reference_ranges.ref_range_id = haplotypes.ref_range_id INNER JOIN ref_range_ref_range_method on ref_range_ref_range_method.ref_range_id=reference_ranges.ref_range_id INNER JOIN methods on ref_range_ref_range_method.method_id = methods.method_id AND methods.name = 'refRegionGroup' and haplotypes.gamete_grp_id=3;
NOTE - the above query is no longer correct - it needs to use user-defined method names instead of refRegionGroup to get the files needed. But the code below that analyzes these files stands.
2 tests to be run: kotlin/db_loading/HaplotypeGEneMetricsPluginTest has testHaplotypeGeneMetricsPlugin createFastaForBlast One creates list of refRangeIds/genes in ref but not in each assembly, the other creates a blast file of specified ref range sequences.
The run blastdb (db created from assembly fasta) and blastn (fastas of selected reference sequences blasted against the assembly blast db) to see if these ranges exist in the assemblies but were missed by mummer4/nucmer.
public HaplotypeGeneMetricsPlugin(@Nullable java.awt.Frame parentFrame, boolean isInteractive)
Class to analyse haplotype coverage of genes. Currently it takes a directory of files, one per genotype, that contain the list of ref range ids that appear in the haplotypes table for that genotype. This was created via the sql query: (first get list of gamete_grp_ids for each genotype), then for each gamete_grp_id do:
select haplotypes.ref_range_id from haplotypes INNER JOIN reference_ranges on reference_ranges.ref_range_id = haplotypes.ref_range_id INNER JOIN ref_range_ref_range_method on ref_range_ref_range_method.ref_range_id=reference_ranges.ref_range_id INNER JOIN methods on ref_range_ref_range_method.method_id = methods.method_id AND methods.name = 'refRegionGroup' and haplotypes.gamete_grp_id=3;
NOTE - the above query is no longer correct - it needs to use user-defined method names instead of refRegionGroup to get the files needed. But the code below that analyzes these files stands.
2 tests to be run: kotlin/db_loading/HaplotypeGEneMetricsPluginTest has testHaplotypeGeneMetricsPlugin createFastaForBlast One creates list of refRangeIds/genes in ref but not in each assembly, the other creates a blast file of specified ref range sequences.
The run blastdb (db created from assembly fasta) and blastn (fastas of selected reference sequences blasted against the assembly blast db) to see if these ranges exist in the assemblies but were missed by mummer4/nucmer.
@Nullable public net.maizegenetics.plugindef.DataSet processData(@Nullable net.maizegenetics.plugindef.DataSet input)
@NotNull public java.lang.String getToolTipText()
@Nullable public javax.swing.ImageIcon getIcon()
@NotNull public java.lang.String getButtonName()
@NotNull public java.lang.String inputDir()
Directory with files of haplotypes reference ranges
@NotNull public HaplotypeGeneMetricsPlugin inputDir(@NotNull java.lang.String value)
Set Input Dir. Directory with files of haplotypes reference ranges
value
- Input Dir@NotNull public java.lang.String refName()
Name of file containing reference genes
@NotNull public HaplotypeGeneMetricsPlugin refName(@NotNull java.lang.String value)
Set Ref File Name. Name of file containing reference genes
value
- Ref File Name@NotNull public java.lang.String refRangeFile()
File containing reference range information: csv with columns ref_range_id, chrom,range_start,range_end
@NotNull public HaplotypeGeneMetricsPlugin refRangeFile(@NotNull java.lang.String value)
Set Ref Range File. File containing reference range information: csv with columns ref_range_id, chrom,range_start,range_end
value
- Ref Range File@NotNull public java.lang.String outputFile()
File for writing matrix of gene coverage
@NotNull public HaplotypeGeneMetricsPlugin outputFile(@NotNull java.lang.String value)
Set Output File. File for writing matrix of gene coverage
value
- Output File