Package: km-walk
Introduction:This tool was developed to identify and quantify the occurence of single
nucleotide variants, insertions, deletions and duplications in RNA-seq data.  Contrary to most tools that try to report all variants in a complete genome, here we instead propose to focus the analysis on small regions of interest.Given a reference sequence (typically a few hundred base pairs) around a
known or suspected mutation in a gene of interest, all possible sequences
that can be be created between the two end k-mers according to the
sequenced reads will be reported. A ratio of variant allele vs WT will be
computed for each possible sequence constructed.Citing:Targeted variant detection using unaligned RNA-Seq reads. Life science Alliance 2019 Aug 19;2(4); doi:https://doi.org/10.26508/lsa.201900336Target variant detection in leukemia using unaligned RNA-Seq reads. bioRxiv 295808; doi:https://doi.org/10.1101/295808Install:Recommended method - using pip:python3-mvenv$HOME/.virtualenvs/kmsource$HOME/.virtualenvs/km/bin/activatepipinstall--upgradepipsetuptoolswheelpipinstallkm-walkAlternative method - easy install script:easy_install.shwill install jellyfish with python binding, km in a virtual
environement, and test it. Without modification, all the code source will be
downloaded in your $HOME/software directory and all executable will be available
in the virtual environement directory: $HOME/.virtualenvs/km.Requirements:Python 3.6.0 or later withpipinstalled.Usage:Copy/paste each line in a terminal.The virtual environment needs to be loaded each time you open a new terminal, with this command:$source$HOME/.virtualenvs/km/bin/activateTest:4bp insertion in NPM1$cd[your_km_folder]$kmfind_mutation./data/catalog/GRCh38/NPM1_4ins_exons_10-11utr.fa./data/jf/02H025_NPM1.jf|kmfind_report-t./data/catalog/GRCh38/NPM1_4ins_exons_10-11utr.faSampleRegionLocationTypeRemovedAddedAbnormalNormalRatioMin_coverageExclu_min_covVariantTargetInfoVariant_sequenceReference_sequence./data/jf/02H025_NPM1.jfchr5:171410540-171410543chr5:171410544ITD04|42870.63055.20.4842428/TCTGNPM1_4ins_exons_10-11utrvs_refAATTGCTTCCGGATGACTGACCAAGAGGCTATTCAAGATCTCTGTCTGGCAGTGGAGGAAGTCTCTTTAAGAAAATAGTTTAAAAATTGCTTCCGGATGACTGACCAAGAGGCTATTCAAGATCTCTGGCAGTGGAGGAAGTCTCTTTAAGAAAATAGTTTAAA./data/jf/02H025_NPM1.jf-Reference000.02379.01.0002379-NPM1_4ins_exons_10-11utrvs_ref# To display kmer coverage$kmfind_mutation./data/catalog/GRCh38/NPM1_4ins_exons_10-11utr.fa./data/jf/02H025_NPM1.jf-gITD of 75 bp$cd[your_km_folder]$kmfind_mutation./data/catalog/GRCh38/FLT3-ITD_exons_13-15.fa./data/jf/03H116_ITD.jf|kmfind_report-t./data/catalog/GRCh38/FLT3-ITD_exons_13-15.faSampleRegionLocationTypeRemovedAddedAbnormalNormalRatioMin_coverageExclu_min_covVariantTargetInfoVariant_sequenceReference_sequence./data/jf/03H116_ITD.jf-Reference000.0443.01.000912-FLT3-ITD_exons_13-15vs_ref./data/jf/03H116_ITD.jfchr13:28034105-28034179chr13:28034180ITD075|75417.61096.70.276443/AACTCCCATTTGAGATCATATTCATATTCTCTGAAATCAACGTAGAAGTACTCATTATCTGAGGAGCCGGTCACCFLT3-ITD_exons_13-15vs_refCTTTCAGCATTTTGACGGCAACCTGGATTGAGACTCCTGTTTTGCTAATTCCATAAGCTGTTGCGTTCATCACTTTTCCAAAAGCACCTGATCCTAGTACCTTCCCAAACTCTAAATTTTCTCTTGGAAACTCCCATTTGAGATCATATTCATATTCTCTGAAATCAACGTAGAAGTACTCATTATCTGAGGAGCCGGTCACCAACTCCCATTTGAGATCATATTCATATTCTCTGAAATCAACGTAGAAGTACTCATTATCTGAGGAGCCGGTCACCTGTACCATCTGTAGCTGGCTTTCATACCTAAATTGCTTTTTGTACTTGTGACAAATTAGCAGGGTTAAAACGACAATGAAGAGGAGACAAACACCAATTGTTGCATAGAATGAGATGTTGTCTTGGATGAAAGGGAAGGGGCCTTTCAGCATTTTGACGGCAACCTGGATTGAGACTCCTGTTTTGCTAATTCCATAAGCTGTTGCGTTCATCACTTTTCCAAAAGCACCTGATCCTAGTACCTTCCCAAACTCTAAATTTTCTCTTGGAAACTCCCATTTGAGATCATATTCATATTCTCTGAAATCAACGTAGAAGTACTCATTATCTGAGGAGCCGGTCACCTGTACCATCTGTAGCTGGCTTTCATACCTAAATTGCTTTTTGTACTTGTGACAAATTAGCAGGGTTAAAACGACAATGAAGAGGAGACAAACACCAATTGTTGCATAGAATGAGATGTTGTCTTGGATGAAAGGGAAGGGGCWithout install:km can be executed directly from source code.Requirements:Python 3.6.0 or laterpyJellyfish python module or Jellyfish 2.2 or laterwithPythonbindings.Usage:$cd[your_km_folder]$python-mkmfind_mutation./data/catalog/GRCh38/NPM1_4ins_exons_10-11utr.fa./data/jf/02H025_NPM1.jf|kmfind_report-t./data/catalog/GRCh38/NPM1_4ins_exons_10-11utr.faDesign your target sequence:km is designed to make targeted analysis based ontarget sequences. These target sequencesneed to be designedand given to km as input.A target sequence is a nucleotide sequence saved in a fasta file. Some target sequences are provided incatalog.To fit your specific needs, you will have to create your own target sequences.On generic cases, you can follow some good practices described below:A web portal is available to assist you in the creation of your target sequences (for cases 1 and 2).km-target:https://bioinfo.iric.ca/km-target/You could also extract nucleotide sequences from genome using severals methods, two of them are discribe below:Usingsamtools: samtools faidx chr2:25234341-25234405 GRCh38/genome.faUsing get DNA fromucsc.Display help:$km-husage:PROG[-h]{find_mutation,find_report,linear_kmin,min_cov}...positionalarguments:{find_mutation,find_report,linear_kmin,min_cov}sub-commandhelpfind_mutationIdentifyandquantifymutationsfromatargetsequenceandak-merdatabase.find_reportParsefind_mutationoutputtoreformatitintabulatedfilemoreuserfriendly.linear_kminFindminklengthtodecomposeatargetsequenceinalineargraph.min_covComputecoverageoftargetsequences.optionalarguments:-h,--helpshowthishelpmessageandexitkm’s tools overview:For more detailed documentation clickhere.find_mutation:This is the main tool of km, to identify and quantify mutations from
a target sequence and a k-mer jellyfish database.$kmfind_mutation-h$kmfind_mutation[your_fasta_targetSeq][your_jellyfish_count_table]$kmfind_mutation[your_catalog_directory][your_jellyfish_count_table]find_report:This tool parse find_mutation output to reformat it in more user friendly
tabulated file.$kmfind_report-h$kmfind_report-t[your_fasta_targetSeq][find_mutation_output]$kmfind_mutation[your_fasta_targetSeq][your_jellyfish_count_table]|kmfind_report-t[your_fasta_targetSeq]min_cov:This tools display some k-mer’s coverage stats of a target sequence and a list of jellyfish database.$kmmin_cov-h$kmmin_cov[your_fasta_targetSeq][[your_jellyfish_count_table]...]linear_kmin:Length of k-mers is a central parameter:To produce a linear directed graph from the target sequence.To avoid false-positive. find_mutation shouldn’t be use on jellyfish count table build with k<21 bp (we recommand k=31 bp, by default)linear_kmin tool is design to give you the minimun k length to allow a
decomposition of a target sequence in a linear graph.$kmlinear_kmin-h$kmlinear_kmin[your_catalog_directory]Runing km on a real sample from downloaded fastq:In theexamplefolder you can find a script to help you to
run a km analysis on one Leucegene sample.