Author Archives: gene_x

Data_Tam_DNAseq_2025 NACHREICHEN_1

For Clinical and HF

a) Please proceed with SNP and indel calling for both clinical samples.

    #-- DNAseq_2025_AYE: clinical vs CP149838 (Acinetobacter baumannii strain 2024CK-00130) --

    mkdir -p bacto_clinical_vs_CP149838/raw_data; cd bacto_clinical_vs_CP149838;
    ln -s ~/Tools/bacto/db/ .;
    ln -s ~/Tools/bacto/envs/ .;
    ln -s ~/Tools/bacto/local/ .;
    cp ~/Tools/bacto/Snakefile .;
    cp ~/Tools/bacto/bacto-0.1.json .;
    cp ~/Tools/bacto/cluster.json .;

    cd raw_data
    ln -s ../../X101SC25015922-Z01-J001/01.RawData/clinical/clinical_1.fq.gz clinical_R1.fastq.gz
    ln -s ../../X101SC25015922-Z01-J001/01.RawData/clinical/clinical_2.fq.gz clinical_R2.fastq.gz

    (bengal3_ac3) /home/jhuang/miniconda3/envs/snakemake_4_3_1/bin/snakemake --printshellcmds

    # Annotate the snippy results using SNP_matrix.sh from spandx
    (spandx) cd bacto_clinical_vs_CP149838/snippy/clinical
    (spandx) cp ~/Tools/spandx/bin/SNP_matrix.sh ./
    (spandx) cp clinical.filt.vcf out.filtered.vcf
    (spandx) cp clinical.filt.vcf out.vcf
    #Adapt to "/home/jhuang/miniconda3/envs/bengal3_ac3/bin/snpEff eff -no-downstream -no-intergenic -ud 100 -formatEff -c reference/snpeff.config -dataDir . ref out.vcf > out.annotated.vcf" in SNP_matrix.sh
    (spandx) bash SNP_matrix.sh CP149838 .
    #(ANNOTATED_RESULTS_SNIPPY) ~/Tools/csv2xls-0.4/csv_to_xls.py All_SNPs_indels_annotated.txt -d$'\t' -o ../../../clinical_vs_CP149838_SNPs_indels_annotated.xls

    #-- DNAseq_2025_adeABadeIJ_adeIJK_CM1_CM2: HF vs CP095177.1 (Enterobacter hormaechei strain K528) --

    mkdir -p bacto_HF_vs_CP095177/raw_data; cd bacto_HF_vs_CP095177;
    ln -s ~/Tools/bacto/db/ .;
    ln -s ~/Tools/bacto/envs/ .;
    ln -s ~/Tools/bacto/local/ .;
    cp ~/Tools/bacto/Snakefile .;
    cp ~/Tools/bacto/bacto-0.1.json .;
    cp ~/Tools/bacto/cluster.json .;

    cd raw_data
    ln -s ../../X101SC24115801-Z01-J001/01.RawData/HF/HF_1.fq.gz HF_R1.fastq.gz
    ln -s ../../X101SC24115801-Z01-J001/01.RawData/HF/HF_2.fq.gz HF_R2.fastq.gz

    mamba activate /home/jhuang/miniconda3/envs/bengal3_ac3
    (bengal3_ac3) /home/jhuang/miniconda3/envs/snakemake_4_3_1/bin/snakemake --printshellcmds

    # Annotate the Snippy results using SNP_matrix.sh from SPANDx, disregarding the runtime error.
    mamba activate /home/jhuang/miniconda3/envs/spandx
    (spandx) cd bacto_HF_vs_CP095177/snippy/HF
    (spandx) cp ~/Tools/spandx/bin/SNP_matrix.sh ./
    (spandx) cp HF.filt.vcf out.filtered.vcf
    (spandx) cp HF.filt.vcf out.vcf
    #Adapt to "/home/jhuang/miniconda3/envs/bengal3_ac3/bin/snpEff eff -no-downstream -no-intergenic -ud 100 -formatEff -c reference/snpeff.config -dataDir . ref out.vcf > out.annotated.vcf" in SNP_matrix.sh
    (spandx) bash SNP_matrix.sh CP095177 .
    #(ANNOTATED_RESULTS_SNIPPY) ~/Tools/csv2xls-0.4/csv_to_xls.py All_SNPs_indels_annotated.txt -d$'\t' -o ../../../HF_vs_CP095177_SNPs_indels_annotated.xls

b) Additionally, I would like a phylogenetic tree (evolutionary relationship between our samples and other reference genomes) and

        #using Dendogram tool

c) A sequence alignment figure (similar to this example: https://macvector.com/blog/2021/10/compare-a-pair-of-genomes/) comparing the reference genome with our samples.

    # TODO: Using BRIG: see http://xgenes.com/article/article-content/325/analysis-of-snps-indels-transposons-and-is-elements-in-5-a-baumannii-strains/

    * DNAseq_2025_AYE: others vs CU459141
    cd ~/Tools/BRIG-0.95-dist
    #IMPORTANT_CRITICAL_DEBUG: we should use jdk1.6, otherwise results in ERROR!
    ~/Tools/Java1.6/jdk1.6.0_45/bin/java -Xmx25000M -jar BRIG.jar

    #1. Select Reference Genbank file in first textfield.
    #2. Prepare assembled fasta-files and sepecific gene-sequences as "Query sequence" in the folder "~/DATA/Data_Tam_DNAseq_2025_AYE/shovill/ and ~/DATA/Data_Tam_DNAseq_2025_AYE/" by "cp AYE-Q/contigs.fa AYE-Q.fasta; ...; samtools faidx CP059040.fasta CP059040:1844319-1845509 > adeA.fasta; ..." in second textfield.
    #3. Saved bundle_sessions --> saved all files in a seperate directory --> open session brigWorkspace_AYE (Note that sometimes the fasta-files is too large (severeal GBs) and all of them have been copied to "~/brigWorkspace_adeABadeIJ_adeIJK_CM1_CM2/gen")

    * DNAseq_2025_adeABadeIJ_adeIJK_CM1_CM2: others to CP059040

            samtools faidx CP059040.fasta CP059040:1844319-1845509 > adeA.fasta
            samtools faidx CP059040.fasta CP059040:1845506-1848616 > adeB.fasta
            samtools faidx CP059040.fasta CP059040:740422-741672 > adeI_.fasta
            revcomp adeI_.fasta > adeI.fasta
            samtools faidx CP059040.fasta CP059040:737233-740409 > adeJ_.fasta
            revcomp adeJ_.fasta > adeJ.fasta
            samtools faidx CP059040.fasta CP059040:735779-737233 > adeK_.fasta
            revcomp adeK_.fasta > adeK.fasta

            gene            1844319..1845509
            /gene="adeA"
            /locus_tag="H0N29_08675"

            gene            1845506..1848616
            /gene="adeB"
            /locus_tag="H0N29_08680"

            gene            complement(740422..741672)
            /gene="adeI"
            /locus_tag="H0N29_03550"

            gene            complement(737233..740409)
            /gene="adeJ"
            /locus_tag="H0N29_03545"

            gene            complement(735779..737233)
            /gene="adeK"
            /locus_tag="H0N29_03540"

    #jhuang@WS-2290C:~/brigWorkspace_adeABadeIJ_adeIJK_CM1_CM2/scratch$ vim adeAB.fastaVsCP059040.gb.fna.tab
    #jhuang@WS-2290C:~/brigWorkspace_adeABadeIJ_adeIJK_CM1_CM2/scratch$ vim adeIJK.fastaVsCP059040.gb.fna.tab

    #TODO: Optimize the cutoff so that vey short matches not used for the BRIG drawing!
    #/home/jhuang/miniconda3/bin/blastn -outfmt 6 -query /home/jhuang/DATA/Data_Tam_DNAseq_2025_AYE/shovill/AYE-S.fasta -db /home/jhuang/brigWorkspace/scratch/CU459141.gb.fna -out /home/jhuang/brigWorkspace/scratch/AYE-S.fastaVsCU459141.gb.fna.tab   -task blastn
    "-evalue 1e-1 -max_target_seqs 1"  #-strand both -num_threads 15 -outfmt 6
    cd ~/brigWorkspace_adeABadeIJ_adeIJK_CM1_CM2/scratch/

    cp /home/jhuang/Tools/bacto/db/CU459141.gb ~/brigWorkspace_AYE    #DEBUG due to the empty genbank file
    #mv AYE-Q.fastaVsCU459141.gb.fna.tab AYE-Q.fastaVsCU459141.gb.fna.tab_
    #mv AYE-S.fastaVsCU459141.gb.fna.tab AYE-S.fastaVsCU459141.gb.fna.tab_
    #mv AYE-WT_on_Tig4.fastaVsCU459141.gb.fna.tab AYE-WT_on_Tig4.fastaVsCU459141.gb.fna.tab_
    #mv AYE-craA_on_Tig4.fastaVsCU459141.gb.fna.tab AYE-craA_on_Tig4.fastaVsCU459141.gb.fna.tab_
    #mv AYE-craA-1_on_Cm200.fastaVsCU459141.gb.fna.tab AYE-craA-1_on_Cm200.fastaVsCU459141.gb.fna.tab_
    #mv AYE-craA-2_on_Cm200.fastaVsCU459141.gb.fna.tab AYE-craA-2_on_Cm200.fastaVsCU459141.gb.fna.tab_
    python3 ~/Scripts/filter_blast.py AYE-Q.fastaVsCU459141.gb.fna.tab_ AYE-Q.fastaVsCU459141.gb.fna.tab --evalue 1e-10 --min_length 100 --min_identity 90
    python3 ~/Scripts/filter_blast.py AYE-S.fastaVsCU459141.gb.fna.tab_ AYE-S.fastaVsCU459141.gb.fna.tab --evalue 1e-10 --min_length 100 --min_identity 90
    python3 ~/Scripts/filter_blast.py AYE-WT_on_Tig4.fastaVsCU459141.gb.fna.tab_ AYE-WT_on_Tig4.fastaVsCU459141.gb.fna.tab --evalue 1e-10 --min_length 100 --min_identity 90
    python3 ~/Scripts/filter_blast.py AYE-craA_on_Tig4.fastaVsCU459141.gb.fna.tab_ AYE-craA_on_Tig4.fastaVsCU459141.gb.fna.tab --evalue 1e-10 --min_length 100 --min_identity 90
    python3 ~/Scripts/filter_blast.py AYE-craA-1_on_Cm200.fastaVsCU459141.gb.fna.tab_ AYE-craA-1_on_Cm200.fastaVsCU459141.gb.fna.tab --evalue 1e-10 --min_length 100 --min_identity 90
    python3 ~/Scripts/filter_blast.py AYE-craA-2_on_Cm200.fastaVsCU459141.gb.fna.tab_ AYE-craA-2_on_Cm200.fastaVsCU459141.gb.fna.tab --evalue 1e-10 --min_length 100 --min_identity 90

    cp /home/jhuang/Tools/bacto/db/CP059040.gb ~/brigWorkspace_adeABadeIJ_adeIJK_CM1_CM2    #DEBUG due to the empty genbank file
    #mv deltaAdeIJK.fastaVsCP059040.gb.fna.tab deltaAdeIJK.fastaVsCP059040.gb.fna.tab_
    #mv deltaAdeABIJ.fastaVsCP059040.gb.fna.tab deltaAdeABIJ.fastaVsCP059040.gb.fna.tab_
    #mv CM1.fastaVsCP059040.gb.fna.tab CM1.fastaVsCP059040.gb.fna.tab_
    #mv CM2.fastaVsCP059040.gb.fna.tab CM2.fastaVsCP059040.gb.fna.tab_
    python3 ~/Scripts/filter_blast.py deltaAdeIJK.fastaVsCP059040.gb.fna.tab_ deltaAdeIJK.fastaVsCP059040.gb.fna.tab --evalue 1e-10 --min_length 100 --min_identity 90
    python3 ~/Scripts/filter_blast.py deltaAdeABIJ.fastaVsCP059040.gb.fna.tab_ deltaAdeABIJ.fastaVsCP059040.gb.fna.tab --evalue 1e-10 --min_length 100 --min_identity 90
    python3 ~/Scripts/filter_blast.py CM1.fastaVsCP059040.gb.fna.tab_ CM1.fastaVsCP059040.gb.fna.tab --evalue 1e-10 --min_length 100 --min_identity 90
    python3 ~/Scripts/filter_blast.py CM2.fastaVsCP059040.gb.fna.tab_ CM2.fastaVsCP059040.gb.fna.tab --evalue 1e-10 --min_length 100 --min_identity 90

    * DNAseq_2025_AYE: clinical vs gi|2707120326|gb|CP149838.1| (Acinetobacter baumannii strain 2024CK-00130)

    mamba activate /home/jhuang/miniconda3/envs/bakta
    bakta --db /mnt/nvme1n1p1/bakta_db ~/DATA/Data_Tam_DNAseq_2025_AYE/vrap_clinical/vrap_contig.fasta --prefix vrap_clinical

    * DNAseq_2025_adeABadeIJ_adeIJK_CM1_CM2: HF vs gi|2239477175|gb|CP095177.1| (Enterobacter hormaechei strain K528)

    bakta --db /mnt/nvme1n1p1/bakta_db ~/DATA/Data_Tam_DNAseq_2025_adeABadeIJ_adeIJK_CM1_CM2/vrap_HF/vrap_contig.fasta --prefix vrap_HF

    # Using Artemis (ACT) to draw the comparisons (https://sanger-pathogens.github.io/Artemis/; https://github.com/sanger-pathogens/Artemis)
    tar zxf artemis-unix-release-{version}.tar.gz

            ~/Scripts/embl_to_gbk.py CP149838.embl CP149838.gbk
            ~/Scripts/embl_to_gbk.py vrap_clinical.embl clinical.gbk
            ~/Scripts/embl_to_gbk.py CP095177.embl CP095177.gbk
            ~/Scripts/embl_to_gbk.py vrap_HF.embl HF.gbk

    TODO_NEXT_WEEK: comparison_file_1 is defined as follows: Common formats: .crunch (BLAST), .delta (MUMmer), or .align (Exonerate).
    blastn -query ref_genome.fasta -subject sample_genome.fasta -outfmt 6 > blast.crunch

    # Step 1: Extract FASTA from GenBank (if needed for alignment)
    ~/Scripts/genbank2fasta.py CP149838.gbk
    ~/Scripts/genbank2fasta.py clinical.gbk
    # Step 2: Run BLAST/MUMmer to generate comparison file
    blastn -query CP149838.gbk_converted.fna -subject clinical.gbk_converted.fna -outfmt 6 > blast.crunch

    Input:
            Sequence file 1: reference.gb (annotated reference genome).
            Sequence file 2: sample.gb (annotated sample genome).
            Comparison file 1: nucmer.delta (generated with nucmer reference.fasta sample.fasta).
    Output:
    ACT will display both genomes with annotations, aligned based on the .delta file.

            The image appears to be a genome visualization, possibly from a tool like Artemis, ACT (Artemis Comparison Tool), or another genome browser. Here’s what’s likely happening in the plot:
            Genome Overview

            Three Rows for Forward Strand and Three Rows for Reverse Strand

                    Each genome sequence has genes and annotations on both forward and reverse strands.

                    The three rows in each direction represent different levels of gene annotations to avoid overlap and make visualization easier.

            Why Three Rows?

                    Genes in a genome can be closely packed or even overlapping.

                    To prevent clutter, genome visualization tools often distribute overlapping genes across multiple rows.

                    This is purely for visual clarity and does not indicate different types of genes.

            Key Features in the Image

            Black vertical bars: Represent DNA sequences.

            Blue/Green Annotations: Likely represent genes or coding sequences (CDS).

            Gray Annotations: Might be regulatory elements or pseudogenes.

            Thicker Blue Section: Could represent regions of high similarity between sequences

            #Some genome browsers use frame lines to indicate the three possible reading frames on each strand.
            #Top three lines: Represent the three possible reading frames of the forward strand (5' → 3').
            #Bottom three lines: Represent the three possible reading frames of the reverse strand (3' → 5').
            #Light grey areas = ORFs (regions that can actually be translated into proteins).
            #If an area is not light grey, it likely means that no ORF exists in that reading frame, meaning there are stop codons breaking the sequence.

            #TODO_NEXT_MONDAY: how to zoom in the ACT browser?

d) Would it be possible to perform genome annotation for these samples?

            bakta --db /mnt/nvme1n1p1/bakta_db --genus Acinetobacter --species baumannii --strain AYE-Q ../shovill/AYE-Q.fasta
            bakta --db /mnt/nvme1n1p1/bakta_db --genus Acinetobacter --species baumannii --strain AYE-S ../shovill/AYE-S.fasta
            bakta --db /mnt/nvme1n1p1/bakta_db --genus Acinetobacter --species baumannii --strain AYE-WT_on_Tig4 ../shovill/AYE-WT_on_Tig4.fasta
            bakta --db /mnt/nvme1n1p1/bakta_db --genus Acinetobacter --species baumannii --strain AYE-craA_on_Tig4 ../shovill/AYE-craA_on_Tig4.fasta
            bakta --db /mnt/nvme1n1p1/bakta_db --genus Acinetobacter --species baumannii --strain AYE-craA-1_on_Cm200 ../shovill/AYE-craA-1_on_Cm200.fasta
            bakta --db /mnt/nvme1n1p1/bakta_db --genus Acinetobacter --species baumannii --strain AYE-craA-2_on_Cm200 ../shovill/AYE-craA-2_on_Cm200.fasta
            cd ~/DATA/Data_Tam_DNAseq_2025_adeABadeIJ_adeIJK_CM1_CM2/bakta
            bakta --db /mnt/nvme1n1p1/bakta_db --genus Acinetobacter --species baumannii --strain deltaAdeIJK ../shovill/deltaAdeIJK.fasta
            bakta --db /mnt/nvme1n1p1/bakta_db --genus Acinetobacter --species baumannii --strain deltaAdeABIJ ../shovill/deltaAdeABIJ.fasta
            bakta --db /mnt/nvme1n1p1/bakta_db --genus Acinetobacter --species baumannii --strain CM1 ../shovill/CM1.fasta
            bakta --db /mnt/nvme1n1p1/bakta_db --genus Acinetobacter --species baumannii --strain CM2 ../shovill/CM2.fasta
            #END

e) Could you please perform a search for HF sample against CP095179 and CP095178 as Enterobacter hormaechei strain K528 harbours two plasmids.

    In addition to my comments from my previous email, could you please perform a search for HF sample against CP095179 and CP095178 as Enterobacter hormaechei strain K528 harbours two plasmids.

    Solution: Using the bowtie of vrap to map the reads on ref_genome/reference.fasta (The reference refers to the closest related genome found from the list generated by vrap)

    mamba activate /home/jhuang/miniconda3/envs/vrap
    (vrap) vrap/vrap.py  -1 HF_trimmed_P_1.fastq.gz -2 HF_trimmed_P_2.fastq.gz  -o vrap_HF_on_CP095178_and_CP095179 --host /home/jhuang/DATA/Data_Tam_DNAseq_2025_adeABadeIJ_adeIJK_CM1_CM2/CP095178_CP095179.fasta   -t 100 -l 200  -g
    cd bowtie
    mv mapped mapped.sam
    samtools view -S -b mapped.sam > mapped.bam
    samtools sort mapped.bam -o mapped_sorted.bam
    samtools index mapped_sorted.bam
    samtools view -H mapped_sorted.bam
    samtools flagstat mapped_sorted.bam

    #14634302 + 0 in total (QC-passed reads + QC-failed reads)
    #0 + 0 secondary
    #0 + 0 supplementary
    #0 + 0 duplicates
    #177416 + 0 mapped (1.21% : N/A)
    #11014010 + 0 paired in sequencing
    #5507005 + 0 read1
    #5507005 + 0 read2
    #118328 + 0 properly paired (1.07% : N/A)
    #123066 + 0 with itself and mate mapped
    #10632 + 0 singletons (0.10% : N/A)
    #0 + 0 with mate mapped to a different chr
    #0 + 0 with mate mapped to a different chr (mapQ>=5)

    samtools depth -m 0 -a mapped_sorted.bam > coverage.txt
    grep "CP095178" coverage.txt > CP095178_coverage.txt
    grep "CP095179" coverage.txt > CP095179_coverage.txt

            import pandas as pd
            import matplotlib.pyplot as plt

            # Load coverage data
            df = pd.read_csv("CP095178_coverage.txt", sep="\t", header=None, names=["chr", "pos", "coverage"])

            # Plot
            plt.figure(figsize=(10,4))
            plt.plot(df["pos"], df["coverage"], color="blue", linewidth=0.5)
            plt.xlabel("Genomic Position")
            plt.ylabel("Coverage Depth")
            plt.title("BAM Coverage Plot")
            plt.show()

    RESULTS: say CP095178 does not exist, but CP095179 exists (see attached coverage plots)!

Kindly perform a comparative analysis on this data (DNAseq_2025_adeABadeIJ_adeIJK_CM1_CM2 against CP059040):

    adeABadeIJ sample (knockout of adeA - H0N29_08675, adeB - H0N29_08680, adeI - H0N29_03550, and adeJ - H0N29_03545, please confirm whether these genes are successfully knocked out.)
    adeIJK sample (knockout of adeI - H0N29_03550, adeJ - H0N29_03545, and adeK - H0N29_03540,, please confirm whether these genes are successfully knocked out.)

    for sample in adeABadeIJ adeIJK CM1 CM2; do
            makeblastdb -in ~/DATA/Data_Tam_DNAseq_2025_adeABadeIJ_adeIJK_CM1_CM2/shovill/${sample}/contigs.fa -dbtype nucl
    done
    for id in adeA adeB adeI adeJ adeK; do
            echo "mkdir ${id}"
            echo "for sample in adeABadeIJ adeIJK CM1 CM2; do"
                    echo "blastn -db ~/DATA/Data_Tam_DNAseq_2025_adeABadeIJ_adeIJK_CM1_CM2/shovill/\${sample}/contigs.fa -query ${id}.fasta -evalue 1e-1 -num_threads 15 -outfmt 6 -strand both -max_target_seqs 1 > ./${id}/\${sample}.blastn"
            echo "done"
    done
    cp mlst/all_mlst_may_be_wrong.txt typing.csv
    python ~/Scripts/process_directory.py adeA typing.csv typing_until_adeA.csv
    python ~/Scripts/process_directory.py adeB typing_until_adeA.csv typing_until_adeB.csv
    python ~/Scripts/process_directory.py adeI typing_until_adeB.csv typing_until_adeI.csv
    python ~/Scripts/process_directory.py adeJ typing_until_adeI.csv typing_until_adeJ.csv
    python ~/Scripts/process_directory.py adeK typing_until_adeJ.csv typing_until_adeK.csv

    #Note that the length of adeK is 1455 nt long. In the sample adeIJK sample, we can find the subsequence from the position 14 to 1455 of the genes in the contig00007 (position 44108-45549).

Data_Tam_DNAseq_2025 NACHREICHEN_2

HF samples (Enterobacter hormaechei strain HKEH-1 vs. CP095177, CP095178, CP095179)

Definition: If genome comparison verify the bacterium is Enterobacter hormaechei, we can name it as “Enterobacter hormaechei strain HKEH-1”

Authors: 1) Ding, Mohan, 2) Huang, Jiabin, 3) Foong, Wuen-Ee, 4) Tam, Heng-Keat

Title: Draft genome sequence of Enterobacter hormaechei HKEH1, isolated from a blood sample from a type II diabetic patient

Source: mol_type=”genomic DNA” strain=”HKEH-1″ isolation_source=”blood” host=”type II diabetic patient” geo_loc_name=”China” collection_date=”2024″

  1. Preparing fasta-files for submitting the genome to NCBI using Ragtag

    python ~/Scripts/filter_fasta_by_length.py HKEH-1.fasta HKEH-1_l500.fasta -l 500
    mamba create -n ragtag_env -c bioconda ragtag
    mamba activate ragtag_env
    
    cd /mnt/md1/DATA/Data_Tam_DNAseq_2025_adeABadeIJ_adeIJK_CM1_CM2/gffs/
    #(ragtag_env) ragtag.py scaffold -i 0.18 HKEH-1_l500.fasta CP097342.fasta
    #(ragtag_env) ragtag.py scaffold -f 500 -q 5 -d 200000 -i 0.1 -a 0.1 -s 0.1 -g 200 -m 200000 -w -u HKEH-1_l500.fasta CP157756.fasta
    (ragtag_env) ragtag.py scaffold -f 500 -q 5 -d 200000 -i 0.1 -a 0.1 -s 0.1 -g 200 -m 200000 -w -u HKEH-1_l500.fasta CP097342.fasta
    mv ragtag_output ragtag_output5
    #(ragtag_env) ragtag.py scaffold -f 500 -q 5 -d 200000 -i 0.1 -a 0.1 -s 0.1 -g 200 -m 200000 -w -u HKEH-1_l500.fasta Enterobacter_hormaechei_ATCC_49162.fasta
    #mv ragtag_output ragtag_output7
    
    cut -d$'\t' -f6 ragtag_output5/ragtag.scaffold.asm.paf | sort -u > contigs_selected5
    #cut -d$'\t' -f6 ragtag_output7/ragtag.scaffold.asm.paf | sort -u > contigs_selected7
    samtools faidx HKEH-1_l500.fasta
    samtools faidx HKEH-1_l500.fasta contig00027 > putative_plasmids.fasta   #NODE_27_length_6475
    samtools faidx HKEH-1_l500.fasta contig00029 >> putative_plasmids.fasta  #NODE_29_length_4093
    samtools faidx HKEH-1_l500.fasta contig00030 >> putative_plasmids.fasta  #NODE_30_length_2606
    samtools faidx HKEH-1_l500.fasta contig00033 >> putative_plasmids.fasta
    #ADD the xxxxxxxxxxxxxx NNNN contig00033
    samtools faidx HKEH-1_l500.fasta contig00033 > contig00033.fasta
    cat ragtag.scaffold.fasta N_100x.fasta contig00033.fasta > ragtag.scaffold_and_contig00033.fasta
    #remove the second until last '>'
    seqkit seq ragtag.scaffold_and_contig00033.fasta > ragtag.scaffold_and_contig00033_.fasta
    
    cat ragtag.scaffold_and_contig00033_.fasta contig00027_circular.fasta contig00029_circular.fasta contig00030_circular.fasta > pHKEH-1_submit.fasta
    #change the fasta headers to HKEH-1_chr, pHKEH-1_6k, pHKEH-1_4k, pHKEH-1_2k
    
    #HKEH-1_chr      4786112 12      60      61
    #pHKEH-1_6k      6364    4865905 60      61
    #pHKEH-1_4k      3982    4872388 60      61
    #pHKEH-1_2k      2495    4876449 60      61
  2. Manual inspection of the mate-pair read mapping at the start and end confirmed that three of the contigs were circular plasmids.

    # -- Circularity_method1: Confirm the contigs are circular using blastn --
    makeblastdb -in HKEH-1_l500.fasta -dbtype nucl -out contigs_db
    blastn -query HKEH-1_l500.fasta -db contigs_db -outfmt 6 -evalue 1e-10 > blast_results.txt
    
    #[In ChatGPT] please check if the contigs are circular based on the following blast-results:
    contig00027 contig00027 100.000 111 0   0   6365    6475    1   111 2.64e-52    206
    contig00027 contig00027 100.000 111 0   0   1   111 6365    6475    2.64e-52    206
    contig00029 contig00029 100.000 111 0   0   3983    4093    1   111 1.67e-52    206
    contig00029 contig00029 100.000 111 0   0   1   111 3983    4093    1.67e-52    206
    contig00030 contig00030 100.000 111 0   0   2496    2606    1   111 1.06e-52    206
    contig00030 contig00030 100.000 111 0   0   1   111 2496    2606    1.06e-52    206
    
    samtools faidx HKEH-1_l500.fasta contig00027 > contig00027.fasta
    samtools faidx HKEH-1_l500.fasta contig00029 > contig00029.fasta
    samtools faidx HKEH-1_l500.fasta contig00030 > contig00030.fasta
    python3 ~/Scripts/process_circular.py contig00027.fasta contig00027_circular.fasta --overlap_len 111
    python3 ~/Scripts/process_circular.py contig00029.fasta contig00029_circular.fasta --overlap_len 111
    python3 ~/Scripts/process_circular.py contig00030.fasta contig00030_circular.fasta --overlap_len 111
    
    # -- Circularity_method2: using PlasmidFinder --
    #https://cge.food.dtu.dk/services/PlasmidFinder/
    
    # -- Mapping the contigs to the reference genome to have an overview --
    bwa mem CP157756.fasta HKEH-1.fasta > aligned2.sam
    samtools view -bS aligned2.sam | samtools sort -o aligned2.sorted.bam
  3. Summary of the genomic characteristics

    # -- Fill the table: summary of sequence data and genome features --
    
    # calculate the read number
    zcat HF_trimmed_P_1.fastq.gz | echo $((`wc -l` / 4))
    zcat HF_trimmed_P_2.fastq.gz | echo $((`wc -l` / 4))
    
    # calculate the base number for paired-end reads
    zcat HF_trimmed_P_1.fastq.gz | awk 'NR%4==2 {sum+=length($0)} END {print sum}' > bases_R1.txt
    zcat HF_trimmed_P_2.fastq.gz | awk 'NR%4==2 {sum+=length($0)} END {print sum}' > bases_R2.txt
    # Then add them:
    #1142394820+1142327087=2284721907
    
    samtools faidx HKEH-1_submit.fasta HKEH-1_chr > HKEH-1_chr.fasta
    samtools faidx HKEH-1_submit.fasta pHKEH-1_6k > pHKEH-1_6k.fasta
    samtools faidx HKEH-1_submit.fasta pHKEH-1_4k > pHKEH-1_4k.fasta
    samtools faidx HKEH-1_submit.fasta pHKEH-1_2k > pHKEH-1_2k.fasta
    for sample in HKEH-1_chr pHKEH-1_6k pHKEH-1_4k pHKEH-1_2k; do
        bakta --db /mnt/nvme1n1p1/bakta_db --output bakta/${sample} --genus Enterobacter --species hormaechei --strain HKEH-1 --prefix ${sample} --locus-tag ${sample} ${sample}.fasta --threads 120
    done
    
    #--Calculate coverage--
    bwa index HKEH-1_submit.fasta
    bwa mem HKEH-1_submit.fasta ../HF_trimmed_P_1.fastq.gz ../HF_trimmed_P_2.fastq.gz > aligned_reads.sam
    samtools view -bS aligned_reads.sam | samtools sort -o aligned_reads.sorted.bam
    samtools index aligned_reads.sorted.bam
    samtools depth aligned_reads.sorted.bam > coverage.txt
    awk '{sum+=$3} END {print "Average coverage:", sum/NR}' coverage.txt
    #Average coverage: 589.421
    
    #--Using BV-BRC--
    https://www.bv-brc.org/view/Bacteria/2#view_tab=overview
  4. Edit manuscript

    Genomic DNA extractions were performed using the Wizard Genomic DNA Purification Kit (Promega Corp.) from single colonies cultured in nutrient broth overnight at 28°C. For genome sequencing, libraries were constructed using the TruSeq DNA Sample Preparation Kit (Illumina, USA), and paired‐end (2 × 150 bp) raw reads were generated using the Illumina NovaSeq 6000 platform from Génome Québec, Montréal, Canada.
    
    A total of 76,719,388, 127,982,014, and 108,524,345 paired-end reads were generated for strains MHB01, MHB02, and MHB03, respectively (Table 1). Trimmomatic v0.39 (2) was used for quality control and trimming of paired-end reads and de novo assemblies was performed using Unicycler v0.4.8 (3) as implemented in the Bacterial and Viral Bioinformatics Resource Center (BV-BRC) pipeline [4]. Contigs < 500 bp were discarded. All contigs Not mapped
    
    #The mate-pair reads refer here to the Illumina short paired-end reads. If the chromosomes/plasmids are circular, some paired reads should be located on both ends. Following the principle, we performed
    the following mapping process to check the circularity. At first, one of a read pair is checked if it is
    located on the left of the chromosome/plasmid. If yes, then we check the other one of a read pair
    whether located on the right of the chromosome/plasmid or not. If true, the circularity of the
    chromosome/plasmid is confirmed.
    
    Further filtering removed reads with Q-score <10, leaving 55,537 reads with a mean length of 3.3 kb and a maximal length of 110.7 kb. The resulting high-quality long-reads together with Illumina short-reads were fed into the hybrid assembler Unicycler version 0.4.9 [3], resulting in a genome including a complete and circular chromosome of 4.3Mb and four plasmids (94.1, 37.8, 8.4 and 2.3kb, respectively) with mean coverage depths of 41.2x (long-reads) and 126.2x (short-reads). GC-content was 54.43%. Whole genome-based taxonomic analysis was conducted with Type Strain Genome Server (TYGS)(https://tygs.dsmz.de) [4]. Briefly, the TYGS analysis comprised of automatic determination of the ten most closely related type strains [[5], [6], [7]] plus a user added number of Mixta sp. non-type strains (see Fig. 1 and Supplementary Table 2) and phylogenomic inference based on pairwise comparisons among this set of genomes with calculation of 100 distance replicates each. Digital DNA-DNA-Hybridization (dDDH) values and confidence intervals were calculated using the recommended settings of the GGDC 2.1 [8]. A type-based species clustering using a 70% dDDH radius around each of the strains was done as previously described for species discrimination [4].
    
    In addition, the average nucleotide identity (ANI) was calculated with the ChunLab's online Average Nucleotide Identity (ANI) calculator between X22927 and its closest relative Mixta theicola (GenBank accession number NZ_CP028273) [9,10].
    
    The phylogenetic analysis revealed 83.23% average nucleotide identity (ANI) and a dDDH value by formula d4 of 39.1% compared to its closest relative Mixta theicola (GenBank accession number NZ_CP028273) [4,9]. Thus, the criteria for a new species with recommended cut-offs of 95–96% and 70 %, respectively, were met and the name Mixta hanseatica sp. nov. is proposed.
    
    #Ragtag [5] was used to scaffold those contigs > 500 bp with its closest relative Enterobacter hormaechei strain 2024CK-00459 chromosome (CP157756), resulting in 4,786,112 bt chromosome and 3 unmapped contigs.
    
    # ---- FINAL -----
    A total of 18,254,594 reads were generated. Quality control and trimming of paired-end reads were performed using Trimmomatic v0.39 [1]. De novo assembly was performed using SPAdes v3.15.5 [2], resulting in 73 contigs. Contig annotation was carried out using the Bacterial and Viral Bioinformatics Resource Center (BV-BRC) pipeline [3]. Contigs shorter than 500 bp were excluded from further analysis. Manual inspection of the mate-pair read mapping at the start and end confirmed that three of the contigs were circular plasmids. Sequencing and genome assembly statistics are summarized in Table 1. The Average Nucleotide Identity (ANI) was calculated using ChunLab’s online ANI calculator [5]. ANI analysis revealed that the isolate shared 94.85% identity with E. hormaechei ATCC 49162 (NCBI accession NZ_MKEQ01000001.1-NZ_MKEQ01000004.1), thereby confirming species-level classification (Fig. 1).
    
    11. Bolger, A. M., Lohse, M., & Usadel, B. (2014). Trimmomatic: A flexible read trimming tool for Illumina NGS data. Bioinformatics, 30(15), 2114-2120.
    12. Bankevich, A., Nurk, S., Antipov, D., Gurevich, A. A., Dvorkin, M., Kulikov, A. S., ... & Pevzner, P. A. (2012). SPAdes: A new genome assembly algorithm and its applications to single-cell sequencing. Journal of Computational Biology, 19(5), 455-477.
    13. Joachimiak, M. P., Gorrell, R., Gamage, D. M., & Arzika, A. (2021). The Bacterial and Viral Bioinformatics Resource Center (BV-BRC): A comprehensive resource for bacterial, viral, and antimicrobial resistance research. Microorganisms, 9(1), 1-10.
    14. Yoon, S. H., Ha, S. M., Lim, J. M., Kwon, S.J. & Chun, J. (2017). A large-scale evaluation of algorithms to calculate average nucleotide identity. Antonie van Leeuwenhoek. 110:1281–1286
    
    #Candidate_SENTENCE_1: The remaing contigs were susccessfully scaffolded using RagTag (v2.1.0) [4] with the reference CP097342.
    
    #ANI of contigs vs. Enterobacter hormaechei ATCC 49162
    OrthoANIu value (%) 94.85
    Genome A length (bp)    4,493,100
    Genome B length (bp)    4,884,780
    Average aligned length (bp) 2,888,871
    Genome A coverage (%)   64.30
    Genome B coverage (%)   59.14
    
    #ANI of contigs vs. CP097342.fasta
    OrthoANIu value (%) 97.20
    Genome A length (bp)    4,493,100
    Genome B length (bp)    4,784,820
    Average aligned length (bp) 2,978,624
    Genome A coverage (%)   66.29
    Genome B coverage (%)   62.25
    
    #ANI of submitted vs. CP157756
    OrthoANIu value (%) 97.18
    Genome A length (bp)    4,785,840
    Genome B length (bp)    4,676,700
    Average aligned length (bp) 2,938,856
    Genome A coverage (%)   61.41
    Genome B coverage (%)   62.84
    
    #ANI of submitted vs. CP097342 (?)
    OrthoANIu value (%) 100.00
    Genome A length (bp)    4,785,840
    Genome B length (bp)    4,784,820
    Average aligned length (bp) 4,784,820
    Genome A coverage (%)   99.98
    Genome B coverage (%)   100.00
  5. (NOT_USED) Construct a phylogenetic tree using roary and raxml. It is not used, since we take the tree directly from bv-brc.org

    How to use Roary for pan-genome analysis and phylogenetic tree construction?
    1. Annotate genomes with Prokka to generate GFF3 files.
    2. Run Roary on the GFF3 files to perform pan-genome analysis and generate the core genome alignment.
    3. Build a phylogenetic tree using the core genome alignment with FastTree or RAxML.
    4. Visualize the tree in tools like iTOL or FigTree.
    
    gi|2239477175|gb|CP095177.1|
    gi|2741317321|gb|CP157756.1|
    gi|1733463143|gb|CP043382.1|
    gi|2458231726|gb|CP118279.1|
    gi|2707115791|gb|CP149841.1|
    gi|2523241526|gb|CP106894.1|
    gi|2567072061|gb|CP114997.1|
    gi|1395308702|gb|CP021162.1|
    gi|2514450999|gb|CP109748.1|
    gi|2587549373|gb|CP135270.1|
    gi|2245290217|gb|CP088221.1|
    gi|2738776003|gb|CP157339.1|
    #gi|2587897827|gb|CP135475.1|
    
    mamba activate /home/jhuang/miniconda3/envs/bengal3_ac3
    #(bengal3_ac3) prokka --force --outdir prokka/HKEH-1 --cpus 2 --usegenus --genus Enterobacter --kingdom Bacteria --species hormaechei --addgenes --addmrna --prefix HKEH-1 --locustag HKEH-1 HKEH-1.fasta    #-hmm /media/jhuang/Titisee/GAMOLA2/TIGRfam_db/TIGRFAMs_15.0_HMM.LIB
    for sample in HKEH-1 CP095177 CP157756 CP043382 CP118279 CP149841 CP106894 CP114997  CP021162 CP109748 CP135270 CP088221 CP157339 CP135475; do
    for sample in CP097342; do
        bakta --db /mnt/nvme1n1p1/bakta_db --output bakta/${sample} --genus Enterobacter --species hormaechei --strain ${sample} --prefix ${sample} --locus-tag ${sample} ${sample}.fasta
    done
    
    #Used commands
    #(bacto) export PERL5LIB=$CONDA_PREFIX/lib/perl5/site_perl/5.22.0/
    (bacto) roary -p 100 -f ./roary -i 95 -cd 99 -s -e -n -v  ./bakta/*.gff3
    (bacto) cd roary
    (bacto) ./roary$ samtools faidx core_gene_alignment.aln
    (bacto) ./roary$ fasttree -gtr -nt core_gene_alignment.aln > core_gene_alignment.tree
    (bacto) ./roary$ snp-sites core_gene_alignment.aln > core_gene_alignment_.aln     #1945680 --> 213613 --> 120367
    (bacto) ./roary$ raxml-ng --all --model GTR+G+ASC_LEWIS --prefix core_gene_raxml --threads 100 --msa core_gene_alignment_.aln --bs-trees 1000

Clinical samples (Acinetobacter baumannii strain HKAB-1 vs CP149838, NZ_CP149839.1 and NZ_CP149840.1)

Definition: If genome comparison verify the bacterium is Acinetobacter baumannii, we can name it as “ Acinetobacter      baumannii strain HKAB-1”

Authors: 1) Wenjun, He, 2) Huang, Jiabin, 3) Foong, Wuen-Ee, 4) Tam, Heng-Keat

Title: Whole genome sequence data of Acinetobacter baumannii HKAB-1 strain, isolated from the sputum of a patient with suspected bacterial infection and heart failure.

Source: mol_type=”genomic DNA” strain=”HKAB-1″ isolation_source=”sputum” host=”left-sided heart failure patient”           geo_loc_name=”China” collection_date=”2024″

  1. Summarize the genomic characteristics

    quast contigs.fa -o quast_output
    
    # count base-number: for paired-end reads
    zcat clinical_trimmed_P_1.fastq.gz | awk 'NR%4==2 {sum+=length($0)} END {print sum}' > bases_R1.txt
    zcat clinical_trimmed_P_2.fastq.gz | awk 'NR%4==2 {sum+=length($0)} END {print sum}' > bases_R2.txt
    # Then add them:
    #paste -sd+ bases_R1.txt bases_R2.txt | bc
    1142394820+1142327087=2284721907
    
    #46+62+5369=5477
    #62(Number of pseudogenes)+5369(Number of CDSs (with protein), Number of CDSs (total))=5431 (Number of CDSs (total))
    Number of CDSs (total) + Number of genes (RNA)= Number of genes (total)
  2. Preparing the fasta files for submitting the genome to NCBI

    python ~/Scripts/filter_fasta_by_length.py HKAB-1.fasta HKAB-1_l500.fasta -l 500
    #ragtag.py scaffold -f 500 -q 5 -d 2000000 -i 0.02 -a 0.1 -s 0.1 -g 20000 -m 2000000 -w -u HKAB-1_l500.fasta CP140420.fasta  #2023CK-00893
    #(ragtag_env) ragtag.py scaffold HKAB-1_l500.fasta CP149838.fasta
    (ragtag_env) ragtag.py scaffold -f 500 -q 5 -d 200000 -i 0.1 -a 0.1 -s 0.1 -g 200 -m 200000 -w -u HKAB-1_l500.fasta CP149838.fasta
    
    #cut -d$'\t' -f6 ragtag_output4/ragtag.scaffold.asm.paf | sort -u > contigs_selected4  #CP140420
    cut -d$'\t' -f6 ragtag_output/ragtag.scaffold.asm.paf | sort -u > contigs_selected  #CP149838
    samtools faidx HKAB-1_l500.fasta
    samtools faidx HKAB-1_l500.fasta contig00015 > putative_plasmids.fasta    #len=33067
    samtools faidx HKAB-1_l500.fasta contig00018 >> putative_plasmids.fasta   #len=2677
    samtools faidx HKAB-1_l500.fasta contig00019 >> putative_plasmids.fasta   #len=1998
    samtools faidx HKAB-1_l500.fasta contig00023 >> putative_plasmids.fasta   #len=592
    
    #ADD the xxxxxxxxxxxxxx NNNN contig00015 NNNNN contig00018 NNNNN contig00019 NNNNN contig00023
    samtools faidx HKAB-1_l500.fasta contig00015 > contig00015.fasta
    samtools faidx HKAB-1_l500.fasta contig00018 > contig00018.fasta
    samtools faidx HKAB-1_l500.fasta contig00019 > contig00019.fasta
    samtools faidx HKAB-1_l500.fasta contig00023 > contig00023.fasta
    cat ragtag.scaffold.fasta N_100x.fasta contig00015.fasta N_100x.fasta contig00018.fasta N_100x.fasta contig00019.fasta N_100x.fasta contig00023.fasta > ragtag.scaffold_and_other_contigs.fasta
    #remove the second until last '>' and change the first header to "HKAB-1_chr"
    seqkit seq ragtag.scaffold_and_other_contigs.fasta > ragtag.scaffold_and_other_contigs_submit.fasta
  3. Mapping reads to NZ_CP149839.1 and NZ_CP149840.1, so that confirm the two plasmids don’t exist (for the question 3) —

    bwa index NZ_CP149839.fasta
    bwa mem -t 80 NZ_CP149839.fasta clinical_trimmed_P_1.fastq.gz clinical_trimmed_P_1.fastq.gz > aligned_on_CP149839.sam
    samtools view -@ 60 -bS aligned_on_CP149839.sam > aligned_on_CP149839.bam
    samtools sort -@ 60 aligned_on_CP149839.bam -o aligned_on_CP149839_sorted.bam
    samtools index aligned_on_CP149839_sorted.bam
    samtools flagstat aligned_on_CP149839_sorted.bam
    #0 + 0 mapped (0.00% : N/A)
    
    bwa index NZ_CP149840.fasta
    bwa mem -t 60 NZ_CP149840.fasta clinical_trimmed_P_1.fastq.gz clinical_trimmed_P_1.fastq.gz > aligned_on_CP149840.sam
    samtools view -@ 60 -bS aligned_on_CP149840.sam > aligned_on_CP149840.bam
    samtools sort -@ 60 aligned_on_CP149840.bam -o aligned_on_CP149840_sorted.bam
    samtools index aligned_on_CP149840_sorted.bam
    samtools flagstat aligned_on_CP149840_sorted.bam
    
    samtools depth -m 0 -a aligned_on_CP149839_sorted.bam > coverage1.txt
    samtools depth -m 0 -a aligned_on_CP149840_sorted.bam > coverage2.txt
    grep "CP149839" coverage1.txt > CP149839_coverage.txt
    grep "CP149840" coverage2.txt > CP149840_coverage.txt
    
            import pandas as pd
            import matplotlib.pyplot as plt
    
            # Load coverage data
            df = pd.read_csv("CP149840_coverage.txt", sep="\t", header=None, names=["chr", "pos", "coverage"])
    
            # Plot
            plt.figure(figsize=(10,4))
            plt.plot(df["pos"], df["coverage"], color="blue", linewidth=0.5)
            plt.xlabel("Genomic Position")
            plt.ylabel("Coverage Depth")
            plt.title("BAM Coverage Plot")
            plt.show()
  4. Confirm no contigs are circular using blastn

    makeblastdb -in HKAB-1_l500.fasta -dbtype nucl -out contigs_db
    blastn -query HKAB-1_l500.fasta -db contigs_db -outfmt 6 -evalue 1e-10 > blast_results.txt
    #--> no contigs were confirmed as circular --> no plasmids.
  5. 鲍曼不动杆菌 HKAB-1 菌株的全基因组序列数据,该菌株分离自一名疑似细菌感染并伴有心力衰竭患者的痰液样本

    #摘要
    
    #引言
    
    在不动杆菌属中,鲍曼不动杆菌(A. baumannii)是临床中最常分离的物种,已成为研究多重耐药性(MDR)的模型生物(Peleg 2008;Vila 2007)。近年来,该病原菌已对全球医疗系统构成日益严重的威胁,导致广泛的严重医院内感染,包括呼吸道、皮肤、尿路、伤口和血流感染(Dijkshoorn 2007)。其在临床环境中的持久性主要归因于其显著的耐受能力,如耐干燥、耐消毒剂和长时间暴露于抗微生物药物(Fournier 2006a;Harding 2018)。这种韧性还得益于其高度可塑的基因组,能够快速获取外源基因,从而迅速适应环境压力(Adams 2008;Touchon 2014)。例如,多重耐药菌株A. baumannii AYE拥有一个包含45个耐药基因的86 kb基因组耐药岛(Fournier 2006b)。在过去十年中,A. baumannii分离株的抗生素耐药性显著上升,包括多重耐药(MDR)、广泛耐药(XDR)和泛耐药(PDR)菌株的出现(Turton 2004;Doi 2009;Nowak 2017)。
    
    在多种耐药机制中,外排泵的过表达在赋予A. baumannii抗生素耐药性方面起着关键作用(Rumbo 2013;Yoon 2013)。尤其是,A. baumannii固有编码大量的多重耐药外排泵,这些外排泵可分为单组分转运蛋白和三部分系统(Lee 2000;Verma 2021)。这些外排系统通过独立或协同作用,主动排除多种结构和化学性质各异的底物,包括抗生素、杀生物剂、染料和清洁剂,从而减少细胞内药物积累并提高最小抑菌浓度(MIC)(Foong 2019;Foong 2020)。
    
    除了抗微生物耐药性外,A. baumannii在生物和非生物表面形成生物膜的能力以及表面附着性运动性也在其作为医院内致病菌的成功中起着重要作用(Skiebe 2012;Orsinger-Jacobsen 2013;Greene 2016)。这些特征在医疗设备的定植和侵入性操作中尤为重要,有助于持久的医院内感染(Rodríguez-Baño 2008)。此外,生物膜形成和运动性被认为促进耐药基因的传播和获取,进一步增强了A. baumannii在医院环境中的适应性和持久性(Wilharm 2013;Penesyan 2019)。总的来说,生物膜形成、运动性和多重耐药性之间的相互作用支撑了A. baumannii在临床环境中的持久生存和传播能力。
    
    #方法与材料
    
    生长曲线测量
    A. baumannii菌落在37°C下于Mueller-Hinton II Broth (MH2B)液体培养基中培养16-18小时。接种新鲜的120毫升MH2B培养基,初始OD600为0.05,37°C下摇床150 rpm培养。使用OD600读数根据“baranyi_without_lag”模型绘制细菌生长曲线,使用R 4.3.3版本的“nlsMicrobio”包(Baty 2014;R Core Team 2021)。
    
    最小抑菌浓度测量
    最小抑菌浓度的测量方法如先前所述(Tam 2020)。简而言之,将A. baumannii菌株的过夜培养液稀释至OD600为0.02,并接种到含有不同抗生素浓度的MH2B液体培养基中的96孔板,培养16小时,37°C下180 rpm。使用Tecan Infinite M200 Pro微孔板读数仪(瑞士Tecan)测量OD600值。最小抑菌浓度定义为OD600值低于0.1的最低抗生素浓度。
    
    生物膜形成实验
    在微孔板中进行的生物膜形成实验如前所述略作修改(Haney 2018)。简要来说,将A. baumannii菌株的过夜培养液接种到含有1毫升LB培养基的聚苯乙烯试管中,初始OD600为0.05,30°C或37°C下静置培养24小时。液体培养基中的细菌生长通过OD600测定。随后,丢弃细菌培养物上清液,用蒸馏水冲洗生物膜细胞三次,再用0.1%结晶紫染色20分钟。丢弃结晶紫染色溶液后,再次用蒸馏水冲洗三次,最后用无水乙醇溶解染色的生物膜细胞。溶解的生物膜细胞通过OD595进行定量。生物膜形成以OD595/OD600的比值表示,以标准化总细菌生长。
    
    游动实验
    游动实验如前所述略作修改(Clemmer 2011)。过夜培养液稀释至OD600为0.1,将2微升液体点在含0.4%琼脂的LB培养基上。将琼脂平板在37°C下培养24小时。
    
    滑行实验
    滑行实验如前所述略作修改(Clemmer 2011)。过夜培养液稀释至OD600为0.1,将2微升液体接种到含有0.8%琼脂的LB培养基上,打孔后培养。将琼脂平板在37°C下培养24小时。培养结束后,丢弃琼脂并用0.2%结晶紫染色,之后观察结果。
    
    全基因组测序与数据分析
    使用Covaris LE220R-plus系统(Covaris,美国)将基因组DNA剪切至平均350 bp大小,进行末端修整、A尾处理并连接完整的Illumina接头。构建的文库使用Illumina平台进行测序,采用2 x 150 bp的配对末端读数,由Novogene生物信息技术有限公司(北京,中国)进行处理。
    
    #结果
    
    菌株收集与鉴定
    
    从一位左心衰竭且怀疑为细菌感染的患者的痰样本中分离到一种细菌菌株HKAB-1。根据初步的表型特征,初步鉴定该菌株为鲍曼不动杆菌(A. baumannii)。随后,将该菌株送至南华大学衡阳医学院医学微生物学系进行分子鉴定和表型特征分析。之后,使用PCR扩增16S rRNA基因,并通过Sanger测序进行分析。通过BLAST分析16S rDNA序列,确认该菌株为A. baumannii。
    
    A. baumannii临床分离株HKAB-1对多种抗生素的敏感性高于A. baumannii ATCC19606
    近年来,A. baumannii相关感染因其多重耐药性表型在临床上日益受到关注。因此,我们评估了HKAB-1菌株和对照菌株ATCC19606的抗生素耐药性谱。我们的结果显示,与ATCC19606菌株相比,HKAB-1菌株对大多数测试的抗生素较为敏感,除了多粘菌素B和利福平(见表1)。
    
    参考文献:Darby, EM2
    
    A. baumannii临床分离株HKAB-1与ATCC 19606相比,具有更强的生物膜形成能力和运动性
    A. baumannii在临床环境中的持久性主要归因于其形成生物膜的能力(Lee 2008;Espinal 2012)。为了确保生物膜实验的准确标准化,我们首先分析了临床分离株HKAB-1和实验室株ATCC19606在MH2B培养基中的生长动力学。HKAB-1菌株的生长速率高于ATCC19606,最大比生长速率(μmax)分别为0.87 ± 0.03 h⁻¹和0.63 ± 0.02 h⁻¹(图1A-B)。一致地,在5小时的OD₆₀₀测量值也高于HKAB-1(图1C)。这些发现表明,HKAB-1菌株在测试条件下的生长优于ATCC19606(图1A)。鉴于生长动力学的显著差异,生物膜定量通过结晶紫染色进行标准化,以确保与静态培养的浮游文化的OD₆₀₀相比,具有可比性和准确性。
    
    由于A. baumannii能够在聚苯乙烯表面形成生物膜(33),我们使用聚苯乙烯试管作为生物膜生长的非生物表面(图1A)。我们发现,大多数来自血液和痰的分离株都能够在聚苯乙烯表面形成不同程度的生物膜。我们还发现血液分离株具有较强的生物膜形成能力。
    
    此外,先前的研究报告表明,表面附着性运动性是A. baumannii临床分离株的常见特征(Skiebe 2012;参考文献)。因此,
    
    全基因组测序和计算分析
    为了说明临床分离株与ATCC19606菌株之间抗生素敏感性的差异,进行了HKAB-1的全基因组测序。
    
    A. baumannii的生物膜形成:相关特征与临床意义
    
    一些A. baumannii临床分离株能够在体外形成生物膜,这可能是导管介导的尿路感染、败血症感染和依赖呼吸机的院内肺炎等感染过程中重要的致病机制(Rodriguez-Bano等,2008)。有研究表明,生物膜的产生可能与抗生素耐药性相关(Li等,2007;Rodriguez-Bano等,2008),高产生者对常用抗生素的耐药性较低,而耐药性菌株则表现出较高的抗药性(King, LB)。
    
    #讨论
    
    在28°C和37°C下对一组A. baumannii菌株进行了生物膜形成的初步研究。结果显示,不同A. baumannii分离株之间的生物膜形成存在较大差异;28°C和37°C的结果没有显著差异(De Briej, A)。
    
    先前的研究表明,生物膜是A. baumannii相关感染中的关键致病因子之一(参见Greene)。
    
    在A. baumannii菌株中,来自医院环境的环境菌株通常承受有一定的适应性成本,其中耐药多药(MDR)表型会导致脱水耐受性的降低,而较强的生物膜表型则可以缓解这一成本。先前的研究表明,细菌的多药耐药性表型存在基因适应性成本,临床菌株在体内的抗生素耐药成本也得到了充分证明(Greene, C)。
    
    在抗生素压力下,能够形成生物膜的A. baumannii菌株可能会被选择出来,或者相反,A. baumannii可能在生物膜群落中获得多重抗药性。当前研究的一个有趣发现是,携带blaPER-1的A. baumannii分离株在与不携带blaPER-1的A. baumannii分离株相比时,表现出显著更强的上皮细胞附着能力和生物膜形成能力(Lee, H-W)。
    
    A. baumannii中发现的多重抗生素耐药机制也可能在其环境生存中发挥作用。Boll等(13)证明了对阳离子抗微生物肽药物(如粘菌素)的耐药性也增加了A. baumannii对干燥的耐受性。Gayoso等(12)证明,某些与抗生素耐药相关的蛋白质(这些蛋白质也与耐受清洁剂相关)在A. baumannii经历干燥应激时被过度表达。这些发现表明,一些抗药性机制可能利用细菌在开放环境中的生存能力(参见Greene, C)。
    
    如上所述,生物膜不仅作为对抗细菌因子的保护,更重要的是它有助于细菌在不同表面的生存。已经证明,生物膜形成株在干燥表面上比非生物膜形成株存活时间更长(Espinal等,2012),一些菌株在玻璃和塑料表面在静态和动态条件下都能形成生物膜(Tomaras等,2003)。因此,生物膜形成有助于A. baumannii对干燥的耐受性以及其在医院环境中家具和医疗设备上的持久性。应答调节因子BfmR是双组分系统BmfRS的一部分,负责生物膜的形成(Draughn等,2018),同时它也在A. baumannii的致病性中起着重要作用(Farrow等,2018)。此外,它调节与应激相关的蛋白质的表达,如KatE,它负责降解H₂O₂。应激相关的蛋白质保护细胞免受反应性氧种的伤害,而干燥正是其中的一种应激因素,因此这些蛋白质在A. baumannii的脱水耐受性中起着重要作用(Farrow等,2018)。
    
    #数据可用性
    HKAB-1的全基因组原始数据已提交至NCBI GenBank(编号xxxx)。
    
    #参考文献(略,格式保留原文)
    #图表
    表1 HKAB-1与ATCC19606的抗生素敏感性比较
    图1 生长曲线与生物被膜定量
    图2 运动性表型分析

Processing for Data_Marius_16S_2025

  1. Target 16sRNAseq Analyse

    • Legend Groups

      • (1) A1-A11 male aged 3d post-stroke
      • (2) B1-B16 female aged 3d post-stroke
      • (3) C1-C10 female aged BL FMT donor
      • (4) E1-E10 male aged BL FMT donor
      • (5) F1-F5 male young BL FMT donor
      • (6) G1-G6 FMT pre-antibiotics Male aged Batch I
      • (7) H1-H6 FMT pre-antibiotics Female aged Batch I
      • (8) I1-I6 FMT pre-antibiotics male young Batch II
      • (9) J1-J11 FMT pre-stroke Male aged
      • (10) K1-K15 FMT pre-stroke Female aged
      • (11) L1-L15 FMT pre-stroke Male young
      • (12) M1-M8 FMT post-stroke Male aged
      • (13) N1-N10 FMT post-stroke Female aged
      • (14) O1-O8 FMT post-stroke Male young
    • Legend plots

      • PCA:
      • DGE:
      • Pathway-Analysis:
      • Bray-Curtis Distance:
      • Cladogram:
      • Bar-plot:
    • I. Comparison Baseline and Stroke:

      • Baseline Gruppe 3 vs 4: PCA, DGE, Pathway-analysis, Bray-Curtis distance, Circle Cladogram

      • Stroke
        Gruppe 1 vs 2: PCA, DGE, Pathway-analysis, Bray-Curtis distance, Circle Cladogram

      • Baseline and Stroke Gruppe 1, 2, 3 and 4: PCA

    • II. FMT Cohorts

      • Bar-plot of relative abundance of families/phyla:

        1. Groups: 3, 4, 5, 9, 10, and 11
        2. Groups: 6, 7, and 8
      • Comparison amongst FMT recipients

        1. Groups 9,10, and 11: PCA
        2. Groups 12,13, and 14: PCA
  2. Standard processing

    mamba activate /home/jhuang/miniconda3/envs/qiime1
    mkdir fastqc_out
    fastqc -t 4 raw_data/* -o fastqc_out/
  3. R

Processing for Data_Tam_DNAseq_2025_ATCC19606

  1. Download the raw data.

    see README_Downloads

  2. Call variant calling using snippy

    ln -s ~/Tools/bacto/db/ .;
    ln -s ~/Tools/bacto/envs/ .;
    ln -s ~/Tools/bacto/local/ .;
    cp ~/Tools/bacto/Snakefile .;
    cp ~/Tools/bacto/bacto-0.1.json .;
    cp ~/Tools/bacto/cluster.json .;
    
    mkdir raw_data; cd raw_data;
    
    # Note that the names must be ending with fastq.gz
    ln -s ../RSMD00304/X101SC24065637-Z01/X101SC24065637-Z01-J002/01.RawData/W2/W2_1.fq.gz W2_R1.fastq.gz
    ln -s ../RSMD00304/X101SC24065637-Z01/X101SC24065637-Z01-J002/01.RawData/W2/W2_2.fq.gz W2_R2.fastq.gz
    ln -s ../RSMD00304/X101SC24065637-Z01/X101SC24065637-Z01-J002/01.RawData/W3/W3_1.fq.gz W3_R1.fastq.gz
    ln -s ../RSMD00304/X101SC24065637-Z01/X101SC24065637-Z01-J002/01.RawData/W3/W3_2.fq.gz W3_R2.fastq.gz
    ln -s ../RSMD00304/X101SC24065637-Z01/X101SC24065637-Z01-J002/01.RawData/W4/W4_1.fq.gz W4_R1.fastq.gz
    ln -s ../RSMD00304/X101SC24065637-Z01/X101SC24065637-Z01-J002/01.RawData/W4/W4_2.fq.gz W4_R2.fastq.gz
    ln -s ../RSMD00304/X101SC24065637-Z01/X101SC24065637-Z01-J002/01.RawData/Y2/Y2_1.fq.gz Y2_R1.fastq.gz
    ln -s ../RSMD00304/X101SC24065637-Z01/X101SC24065637-Z01-J002/01.RawData/Y2/Y2_2.fq.gz Y2_R2.fastq.gz
    ln -s ../RSMD00304/X101SC24065637-Z01/X101SC24065637-Z01-J002/01.RawData/Y3/Y3_1.fq.gz Y3_R1.fastq.gz
    ln -s ../RSMD00304/X101SC24065637-Z01/X101SC24065637-Z01-J002/01.RawData/Y3/Y3_2.fq.gz Y3_R2.fastq.gz
    ln -s ../RSMD00304/X101SC24065637-Z01/X101SC24065637-Z01-J002/01.RawData/Y4/Y4_1.fq.gz Y4_R1.fastq.gz
    ln -s ../RSMD00304/X101SC24065637-Z01/X101SC24065637-Z01-J002/01.RawData/Y4/Y4_2.fq.gz Y4_R2.fastq.gz
    
    #download CP059040.gb from GenBank
    mv ~/Downloads/sequence\(1\).gb db/CP059040.gb
    #setting the following in bacto-0.1.json
    
        "fastqc": false,
        "taxonomic_classifier": false,
        "assembly": true,
        "typing_ariba": false,
        "typing_mlst": true,
        "pangenome": true,
        "variants_calling": true,
        "phylogeny_fasttree": true,
        "phylogeny_raxml": true,
        "recombination": false, (due to gubbins-error set false)
    
        "genus": "Acinetobacter",
        "kingdom": "Bacteria",
        "species": "baumannii",  (in both prokka and mykrobe)
        "reference": "db/CP059040.gb"
    
    mamba activate /home/jhuang/miniconda3/envs/bengal3_ac3
    (bengal3_ac3) /home/jhuang/miniconda3/envs/snakemake_4_3_1/bin/snakemake --printshellcmds
  3. Download complete_genome_470_ena_taxon_descendants_count.fasta (Done in ~/REFs)

    #Acinetobacter baumannii Taxonomy ID: 470
    #esearch -db nucleotide -query "txid470[Organism:exp]" | efetch -format fasta -email j.huang@uke.de > genome_470_ncbi.fasta
    #python ~/Scripts/filter_fasta.py genome_470_ncbi.fasta complete_genome_470_ncbi.fasta  #
    
    # ---- Download related genomes from ENA ----
    https://www.ebi.ac.uk/ena/browser/view/470
    #Click "Sequence" and download "Counts" (13059) and "Taxon descendants count" (16091) if there is enough time! Downloading time points is 28.02.2025.
    python ~/Scripts/filter_fasta.py  ena_470_sequence.fasta complete_genome_470_ena_taxon_descendants_count.fasta  #16091-->920
    #python ~/Scripts/filter_fasta.py ena_470_sequence_Counts.fasta complete_genome_470_ena_Counts.fasta  #xxx, 5.8G
  4. Run vrap

    #replace --virus to the specific taxonomy (e.g. Acinetobacter baumannii) --> change virus_user_db --> specific_bacteria_user_db
    cp trimmed/Y2_trimmed_P*.fastq .
    cp trimmed/W2_trimmed_P*.fastq .
    gzip *.fastq
    ln -s ~/Tools/vrap/ .
    mamba activate /home/jhuang/miniconda3/envs/vrap
    (vrap) vrap/vrap.py  -1 Y2_trimmed_P_1.fastq.gz -2 Y2_trimmed_P_2.fastq.gz -o vrap_Y2 --bt2idx=/home/jhuang/REFs/genome --host=/home/jhuang/REFs/genome.fa --virus=/home/jhuang/REFs/complete_genome_470_ena_taxon_descendants_count.fasta --nt=/mnt/nvme1n1p1/blast/nt --nr=/mnt/nvme1n1p1/blast/nr  -t 100 -l 200  -g
    (vrap) vrap/vrap.py  -1 W2_trimmed_P_1.fastq.gz -2 W2_trimmed_P_2.fastq.gz -o vrap_W2 --bt2idx=/home/jhuang/REFs/genome --host=/home/jhuang/REFs/genome.fa --virus=/home/jhuang/REFs/complete_genome_470_ena_taxon_descendants_count.fasta --nt=/mnt/nvme1n1p1/blast/nt --nr=/mnt/nvme1n1p1/blast/nr  -t 100 -l 200  -g
  5. Using spandx calling variants (almost the same results to the one from viral-ngs!)

    #DONE
    mkdir ~/miniconda3/envs/spandx/share/snpeff-5.1-2/data/CP059040
    cp db/CU459141.gb  ~/miniconda3/envs/spandx/share/snpeff-5.1-2/data/CP059040/genes.gbk
    vim ~/miniconda3/envs/spandx/share/snpeff-5.1-2/snpEff.config
    #CU459141.chromosome : CU459141
    /home/jhuang/miniconda3/envs/spandx/bin/snpEff build -c ~/miniconda3/envs/spandx/share/snpeff-5.1-2/snpEff.config -genbank CU459141 -v   #-d
    #00:00:02 Saving sequences for chromosome 'CU459141.1 ...
    mamba activate /home/jhuang/miniconda3/envs/bengal3_ac3
    /home/jhuang/miniconda3/envs/bengal3_ac3/bin/snpEff build -c ~/miniconda3/envs/spandx/share/snpeff-5.1-2/snpEff.config -genbank CP059040 -v
    
    ~/Scripts/genbank2fasta.py CP059040.gb
    mv CP059040.gb_converted.fna CP059040.fasta    #rename "CP059040.1 xxxxx" to "CP059040" in the fasta-file
    
    ln -s /home/jhuang/Tools/spandx/ spandx
    mamba activate /home/jhuang/miniconda3/envs/spandx
    (spandx) nextflow run spandx/main.nf --fastq "trimmed/*_P_{1,2}.fastq" --ref CP059040.fasta --annotation --database CP059040 -resume  # 386 records in Outputs/Phylogeny_and_annotation/All_SNPs_indels_annotated.txt
    
    #DEBUG the results of spandx
    cd Outputs/Master_vcf
    (spandx) cp -r ../../snippy/Y2/reference .
    (spandx) cp ../../spandx/bin/SNP_matrix.sh ./
    #Adapt "snpEff eff -no-downstream -no-intergenic -ud 100 -formatEff -v ${variant_genome_path} out.vcf > out.annotated.vcf" to
    "/home/jhuang/miniconda3/envs/bengal3_ac3/bin/snpEff eff -no-downstream -no-intergenic -ud 100 -formatEff -c reference/snpeff.config -dataDir . ref out.vcf > out.annotated.vcf" in SNP_matrix.sh
    (spandx) bash SNP_matrix.sh CP059040 .
    
    python3 ~/Scripts/summarize_snippy_res.py snippy
    grep -v "None,,,,,,None,None" summary_snps_indels.csv > summary_snps_indels_.csv  # 29 records
    
    diff snippy/id2.txt Outputs/Master_vcf/id2.txt
  6. Draw the BRIC plots of Y2, Y3, Y4, W2, W3, W4 on reference.

    mkdir ~/brigWorkspace_Tam_DNAseq_2025_ATCC19606
    cp CP059040.gb ~/brigWorkspace_Tam_DNAseq_2025_ATCC19606
    cp ~/DATA/Data_Tam_DNAseq_2025_ATCC19606/shovill/W2/contigs.fa ~/brigWorkspace_Tam_DNAseq_2025_ATCC19606/gen/W2.fasta
    cp ~/DATA/Data_Tam_DNAseq_2025_ATCC19606/shovill/W3/contigs.fa ~/brigWorkspace_Tam_DNAseq_2025_ATCC19606/gen/W3.fasta
    cp ~/DATA/Data_Tam_DNAseq_2025_ATCC19606/shovill/W4/contigs.fa ~/brigWorkspace_Tam_DNAseq_2025_ATCC19606/gen/W4.fasta
    cp ~/DATA/Data_Tam_DNAseq_2025_ATCC19606/shovill/Y2/contigs.fa ~/brigWorkspace_Tam_DNAseq_2025_ATCC19606/gen/Y2.fasta
    cp ~/DATA/Data_Tam_DNAseq_2025_ATCC19606/shovill/Y3/contigs.fa ~/brigWorkspace_Tam_DNAseq_2025_ATCC19606/gen/Y3.fasta
    cp ~/DATA/Data_Tam_DNAseq_2025_ATCC19606/shovill/Y4/contigs.fa ~/brigWorkspace_Tam_DNAseq_2025_ATCC19606/gen/Y4.fasta
    
    #!!!!IMPORTANT_CRITICAL_DEBUG!!!!: we should use jdk1.6, otherwise results in ERROR!
    ~/Tools/Java1.6/jdk1.6.0_45/bin/java -Xmx25000M -jar BRIG.jar
    #DEBUG2
    Output-file should be "/home/jhuang/CP059040" to avoid to cover CP059040.gb.
    
    mv W2.fastaVsCP059040.gb.fna.tab W2.fastaVsCP059040.gb.fna.tab_
    mv W3.fastaVsCP059040.gb.fna.tab W3.fastaVsCP059040.gb.fna.tab_
    mv W4.fastaVsCP059040.gb.fna.tab W4.fastaVsCP059040.gb.fna.tab_
    mv Y2.fastaVsCP059040.gb.fna.tab Y2.fastaVsCP059040.gb.fna.tab_
    mv Y3.fastaVsCP059040.gb.fna.tab Y3.fastaVsCP059040.gb.fna.tab_
    mv Y4.fastaVsCP059040.gb.fna.tab Y4.fastaVsCP059040.gb.fna.tab_
    python3 ~/Scripts/filter_blast.py W2.fastaVsCP059040.gb.fna.tab_ W2.fastaVsCP059040.gb.fna.tab --evalue 1e-10 --min_length 200 --min_identity 95
    python3 ~/Scripts/filter_blast.py W3.fastaVsCP059040.gb.fna.tab_ W3.fastaVsCP059040.gb.fna.tab --evalue 1e-10 --min_length 200 --min_identity 95
    python3 ~/Scripts/filter_blast.py W4.fastaVsCP059040.gb.fna.tab_ W4.fastaVsCP059040.gb.fna.tab --evalue 1e-10 --min_length 200 --min_identity 95
    python3 ~/Scripts/filter_blast.py Y2.fastaVsCP059040.gb.fna.tab_ Y2.fastaVsCP059040.gb.fna.tab --evalue 1e-10 --min_length 200 --min_identity 95
    python3 ~/Scripts/filter_blast.py Y3.fastaVsCP059040.gb.fna.tab_ Y3.fastaVsCP059040.gb.fna.tab --evalue 1e-10 --min_length 200 --min_identity 95
    python3 ~/Scripts/filter_blast.py Y4.fastaVsCP059040.gb.fna.tab_ Y4.fastaVsCP059040.gb.fna.tab --evalue 1e-10 --min_length 200 --min_identity 95
    
    #Rerun without 'Re-do BLAST'
  7. Detect the gap positions

    blastn -query gen/Y4.fasta -subject scratch/CP059040.gb.fna -evalue 1e-10 -outfmt "6 qseqid sseqid pident length mismatch gapopen qstart qend sstart send evalue bitscore" -out Y4_vs_ref.tsv
    python3 ~/Scripts/filter_blast.py Y4_vs_ref.tsv Y4_vs_ref.tsv_ --evalue 1e-10 --min_length 200 --min_identity 95
    awk '{start=($9<$10)?$9:$10; end=($9>$10)?$9:$10; print $0, start, end}' Y4_vs_ref.tsv_ | sort -k13,13n > Y4_sorted.tsv
    awk '
    {
    if (NR > 1) {
            gap_size = $13 - prev_end - 1
            if (gap_size > 200) {
            print "Gap in reference: " prev_end+1 " to " $13-1 ", size: " gap_size " nt"
            }
    }
    prev_end = $14
    }' Y4_sorted.tsv
    
    Gap in reference: 17584 to 17854, size: 271 nt
    Gap in reference: 737225 to 741666, size: 4442 nt * (adeI and adeJ)
    Gap in reference: 864814 to 867580, size: 2767 nt * (H0N29_04000)
    Gap in reference: 1326848 to 1327449, size: 602 nt
    Gap in reference: 1328557 to 1328922, size: 366 nt
    Gap in reference: 1481945 to 1482157, size: 213 nt
    Gap in reference: 1615852 to 1616118, size: 267 nt
    Gap in reference: 1641267 to 1641756, size: 490 nt
    Gap in reference: 1679492 to 1692554, size: 13063 nt
    Gap in reference: 1725690 to 1806693, size: 81004 nt
    Gap in reference: 1817484 to 1817867, size: 384 nt
    Gap in reference: 1851794 to 1852056, size: 263 nt
    Gap in reference: 1864443 to 1864741, size: 299 nt
    Gap in reference: 2123729 to 2123929, size: 201 nt
    Gap in reference: 2146439 to 2147201, size: 763 nt
    Gap in reference: 2269547 to 2270147, size: 601 nt
    Gap in reference: 2382428 to 2383507, size: 1080 nt
    Gap in reference: 2451609 to 2452242, size: 634 nt
    #between H0N29_13300 and H0N29_13660
    Gap in reference: 2810875 to 2813304, size: 2430 nt *
    Gap in reference: 2814695 to 2858885, size: 44191 nt *
    Gap in reference: 2860666 to 2862228, size: 1563 nt *
    Gap in reference: 2862967 to 2863469, size: 503 nt *
    Gap in reference: 2899740 to 2900190, size: 451 nt
    
    Gap in reference: 3010504 to 3010847, size: 344 nt
    Gap in reference: 3833923 to 3834384, size: 462 nt
    Gap in reference: 3834592 to 3860147, size: 25556 nt
    Gap in reference: 3862342 to 3862920, size: 579 nt
    Gap in reference: 3892085 to 3913973, size: 21889 nt
    Gap in reference: 3914242 to 3942704, size: 28463 nt
    
    blastn -query gen/Y3.fasta -subject scratch/CP059040.gb.fna -evalue 1e-10 -outfmt "6 qseqid sseqid pident length mismatch gapopen qstart qend sstart send evalue bitscore" -out Y3_vs_ref.tsv
    python3 ~/Scripts/filter_blast.py Y3_vs_ref.tsv Y3_vs_ref.tsv_ --evalue 1e-10 --min_length 200 --min_identity 95
    awk '{start=($9<$10)?$9:$10; end=($9>$10)?$9:$10; print $0, start, end}' Y3_vs_ref.tsv_ | sort -k13,13n > Y3_sorted.tsv
    awk '
    {
    if (NR > 1) {
            gap_size = $13 - prev_end - 1
            if (gap_size > 200) {
            print "Gap in reference: " prev_end+1 " to " $13-1 ", size: " gap_size " nt"
            }
    }
    prev_end = $14
    }' Y3_sorted.tsv
    
    Gap in reference: 737225 to 741666, size: 4442 nt *
    Gap in reference: 792096 to 792573, size: 478 nt
    
    Gap in reference: 1679492 to 1724344, size: 44853 nt
    Gap in reference: 1725690 to 2190107, size: 464418 nt
    
    Gap in reference: 2810875 to 2813304, size: 2430 nt *
    Gap in reference: 2814695 to 2858885, size: 44191 nt *
    Gap in reference: 2860666 to 2862228, size: 1563 nt *
    Gap in reference: 2862967 to 2863469, size: 503 nt *
    
    Gap in reference: 3833923 to 3834384, size: 462 nt
    Gap in reference: 3834592 to 3881864, size: 47273 nt
    Gap in reference: 3892085 to 3913973, size: 21889 nt
    Gap in reference: 3914242 to 3942704, size: 28463 nt
    
    blastn -query gen/Y2.fasta -subject scratch/CP059040.gb.fna -evalue 1e-10 -outfmt "6 qseqid sseqid pident length mismatch gapopen qstart qend sstart send evalue bitscore" -out Y2_vs_ref.tsv
    python3 ~/Scripts/filter_blast.py Y2_vs_ref.tsv Y2_vs_ref.tsv_ --evalue 1e-10 --min_length 200 --min_identity 95
    awk '{start=($9<$10)?$9:$10; end=($9>$10)?$9:$10; print $0, start, end}' Y2_vs_ref.tsv_ | sort -k13,13n > Y2_sorted.tsv
    awk '
    {
    if (NR > 1) {
            gap_size = $13 - prev_end - 1
            if (gap_size > 200) {
            print "Gap in reference: " prev_end+1 " to " $13-1 ", size: " gap_size " nt"
            }
    }
    prev_end = $14
    }' Y2_sorted.tsv
    Gap in reference: 737225 to 741666, size: 4442 nt *
    Gap in reference: 794508 to 1327449, size: 532942 nt
    Gap in reference: 1679492 to 1724344, size: 44853 nt
    Gap in reference: 1725690 to 2190107, size: 464418 nt
    Gap in reference: 2810875 to 2813304, size: 2430 nt *
    Gap in reference: 2814695 to 2858885, size: 44191 nt *
    Gap in reference: 2860666 to 2862228, size: 1563 nt *
    Gap in reference: 2862967 to 2863469, size: 503 nt *
    Gap in reference: 3288370 to 3642512, size: 354143 nt
    Gap in reference: 3833923 to 3834384, size: 462 nt
    Gap in reference: 3834592 to 3881863, size: 47272 nt
    Gap in reference: 3892085 to 3913973, size: 21889 nt
    Gap in reference: 3914242 to 3942704, size: 28463 nt
    
    blastn -query gen/W4.fasta -subject scratch/CP059040.gb.fna -evalue 1e-10 -outfmt "6 qseqid sseqid pident length mismatch gapopen qstart qend sstart send evalue bitscore" -out W4_vs_ref.tsv
    python3 ~/Scripts/filter_blast.py W4_vs_ref.tsv W4_vs_ref.tsv_ --evalue 1e-10 --min_length 200 --min_identity 95
    awk '{start=($9<$10)?$9:$10; end=($9>$10)?$9:$10; print $0, start, end}' W4_vs_ref.tsv_ | sort -k13,13n > W4_sorted.tsv
    awk '
    {
    if (NR > 1) {
            gap_size = $13 - prev_end - 1
            if (gap_size > 200) {
            print "Gap in reference: " prev_end+1 " to " $13-1 ", size: " gap_size " nt"
            }
    }
    prev_end = $14
    }' W4_sorted.tsv
    
    Gap in reference: 737225 to 741666, size: 4442 nt *
    Gap in reference: 792438 to 793713, size: 1276 nt
    Gap in reference: 1679492 to 1724344, size: 44853 nt
    Gap in reference: 1725690 to 1817596, size: 91907 nt
    Gap in reference: 2810875 to 2813304, size: 2430 nt *
    Gap in reference: 2814695 to 2858885, size: 44191 nt *
    Gap in reference: 2860666 to 2862228, size: 1563 nt *
    Gap in reference: 2862967 to 2863469, size: 503 nt *
    Gap in reference: 3288370 to 3642512, size: 354143 nt
    Gap in reference: 3833923 to 3834384, size: 462 nt
    Gap in reference: 3834592 to 3881863, size: 47272 nt
    Gap in reference: 3892085 to 3913973, size: 21889 nt
    Gap in reference: 3914242 to 3942704, size: 28463 nt
    
    blastn -query gen/W3.fasta -subject scratch/CP059040.gb.fna -evalue 1e-10 -outfmt "6 qseqid sseqid pident length mismatch gapopen qstart qend sstart send evalue bitscore" -out W3_vs_ref.tsv
    python3 ~/Scripts/filter_blast.py W3_vs_ref.tsv W3_vs_ref.tsv_ --evalue 1e-10 --min_length 200 --min_identity 95
    awk '{start=($9<$10)?$9:$10; end=($9>$10)?$9:$10; print $0, start, end}' W3_vs_ref.tsv_ | sort -k13,13n > W3_sorted.tsv
    awk '
    {
    if (NR > 1) {
            gap_size = $13 - prev_end - 1
            if (gap_size > 200) {
            print "Gap in reference: " prev_end+1 " to " $13-1 ", size: " gap_size " nt"
            }
    }
    prev_end = $14
    }' W3_sorted.tsv
    
    Gap in reference: 737225 to 741666, size: 4442 nt *
    Gap in reference: 792096 to 792573, size: 478 nt
    Gap in reference: 1679492 to 1724344, size: 44853 nt
    Gap in reference: 1725690 to 2190107, size: 464418 nt
    Gap in reference: 2810875 to 2813304, size: 2430 nt *
    Gap in reference: 2814695 to 2858885, size: 44191 nt *
    Gap in reference: 2860666 to 2862228, size: 1563 nt *
    Gap in reference: 2862967 to 2863469, size: 503 nt *
    Gap in reference: 3288370 to 3642512, size: 354143 nt
    Gap in reference: 3833923 to 3834384, size: 462 nt
    Gap in reference: 3834592 to 3853883, size: 19292 nt
    Gap in reference: 3892085 to 3913973, size: 21889 nt
    Gap in reference: 3914242 to 3942704, size: 28463 nt
    
    blastn -query gen/W2.fasta -subject scratch/CP059040.gb.fna -evalue 1e-10 -outfmt "6 qseqid sseqid pident length mismatch gapopen qstart qend sstart send evalue bitscore" -out W2_vs_ref.tsv
    python3 ~/Scripts/filter_blast.py W2_vs_ref.tsv W2_vs_ref.tsv_ --evalue 1e-10 --min_length 200 --min_identity 95
    awk '{start=($9<$10)?$9:$10; end=($9>$10)?$9:$10; print $0, start, end}' W2_vs_ref.tsv_ | sort -k13,13n > W2_sorted.tsv
    awk '
    {
    if (NR > 1) {
            gap_size = $13 - prev_end - 1
            if (gap_size > 200) {
            print "Gap in reference: " prev_end+1 " to " $13-1 ", size: " gap_size " nt"
            }
    }
    prev_end = $14
    }' W2_sorted.tsv
    
    Gap in reference: 737225 to 741666, size: 4442 nt *
    Gap in reference: 1679492 to 1724344, size: 44853 nt
    Gap in reference: 1725690 to 2190107, size: 464418 nt
    Gap in reference: 2810875 to 2813304, size: 2430 nt *
    Gap in reference: 2814695 to 2858885, size: 44191 nt *
    Gap in reference: 2860666 to 2862228, size: 1563 nt *
    Gap in reference: 2862967 to 2863469, size: 503 nt *
    Gap in reference: 3288370 to 3642512, size: 354143 nt
    Gap in reference: 3833923 to 3834384, size: 462 nt
    Gap in reference: 3834592 to 3881863, size: 47272 nt
    Gap in reference: 3892085 to 3913973, size: 21889 nt
    Gap in reference: 3914242 to 3942704, size: 28463 nt

Comprehensive Genomic and Phenotypic Characterization of a Clinically Susceptible Acinetobacter baumannii Isolate Harboring Extensive Resistance Determinants

摘要

鲍曼不动杆菌(Acinetobacter baumannii)是一种机会性病原体,常导致院内感染,并与高死亡率及发病率相关。

本研究对临床分离株HKAB-1(源自一名左心衰竭患者)进行了全面的表型分析,包括抗生素敏感性、生长动力学、生物膜形成及运动能力评估。

基于Illumina NovaSeq平台的全基因组测序及深入生物信息学分析发现,HKAB-1的表型抗生素敏感性与基因型谱存在显著差异:其基因组携带大量编码多药外排泵和毒力因子的基因,却对测试的所有抗生素均敏感,凸显了耐药决定因子调控与表达的复杂性。

这些发现表明,HKAB-1是解析鲍曼不动杆菌耐药性、毒力及其调控通路分子机制的理想模型。

数据规格表

| 主题 | 微生物学:细菌学 | | 具体领域 | 微生物基因组学 | | 数据类型 | 原始及处理后的测序数据、基因组注释、抗生素敏感性谱、生长动力学、生物膜及运动能力数据 | | 数据收集 | 基因组序列:通过Illumina NovaSeq平台对片段化文库进行全基因组测序,经de novo组装。表型分析:使用Tecan Infinite M200 Pro酶标仪(瑞士Tecan)测定吸光度值,直尺测量菌落直径。统计分析:R语言(版本4.3.3)处理数据。 | | 数据来源地 | 中国湖南省衡阳市 | | 数据可及性 | 数据库:GenBank 编号: BioProject:???? SRA:???? GenBank:????

  1. Value of the Data 数据价值

    提供临床分离株HKAB-1与标准菌株ATCC19606在生长动力学、抗生素敏感性、运动及生物膜形成能力的定量对比。

    HKAB-1的全基因组测序揭示了丰富的多药外排泵及毒力因子相关基因。

    基因型耐药决定因子与表型敏感性间的矛盾,为研究耐药与毒力基因的调控及功能提供了独特模型。

    数据有助于识别关键致病因子,深化对毒力进化的理解,并评估临床相关鲍曼不动杆菌株的水平基因转移潜力。

  2. 背景

鲍曼不动杆菌是院内感染的主要病原体,其基因组可塑性极强,能通过获得外源基因快速适应环境压力。近年来,多重耐药(MDR)、广泛耐药(XDR)甚至全耐药(PDR)菌株的出现加剧了全球医疗负担。外排泵过表达、生物膜形成及表面运动能力是其耐药与持续感染的关键机制。

  1. Data Description 数据描述

HKAB-1在MH2B培养基中生长速率显著高于ATCC19606(μmax:0.87 vs. 0.63 h⁻¹)。尽管携带27个耐药基因(包括21个外排泵相关基因)和77个毒力因子,HKAB-1对多数抗生素的敏感性反而更高(如氨基糖苷类、碳青霉烯类MIC降低4-8倍)。基因组分析还发现2个前噬菌体序列及ST392型MLST分型。

  1. 实验设计、材料与方法

4.1 样本采集与细菌分离

采集疑似细菌感染的左心衰竭患者的痰液样本进行细菌学分析。样本均匀涂布于血琼脂平板,37℃过夜培养。纯培养物保存于-80℃备用。

4.2 生长曲线测定

将鲍曼不动杆菌菌落接种于Mueller-Hinton II肉汤(MH2B),37℃培养16-18小时。取OD600=0.05的菌液接种至120 ml新鲜MH2B培养基,37℃、150 rpm振荡培养。使用R 4.3.3软件的”nlsMicrobio”包中”baranyi_without_lag”模型拟合OD600读数绘制生长曲线。

4.3 最小抑菌浓度(MIC)测定

参照文献方法[34],将过夜培养的菌液用新鲜MH2B培养基稀释至OD600=0.02,取30 μl接种至含120 μl系列2倍稀释抗生素的U型底96孔板。37℃、180 rpm振荡培养16小时后,用Tecan Infinite M200 Pro酶标仪测定OD600。MIC定义为OD600值<0.1的最低抗生素浓度。

4.4 生物膜形成实验

改良微孔板法[35]:将OD600=0.05的过夜培养物接种至含1 ml LB培养基的聚苯乙烯管中,30℃或37℃静置培养24小时。弃上清后用蒸馏水洗涤3次,0.1%结晶紫染色20分钟,再洗涤后用无水乙醇溶解,测定OD595。以OD595/OD600比值标准化生物膜形成量。

4.5 运动能力检测

群集运动(swarming):将OD600=0.1的菌液2 μl点种于0.4%琼脂LB平板,37℃培养24小时。 颤搐运动(twitching):用2 μl菌液穿刺接种0.8%琼脂LB平板至培养皿-琼脂界面,37℃培养24小时后弃琼脂,0.2%结晶紫染色观察。

4.6 基因组DNA提取与测序

使用Covaris LE220R-plus系统将DNA片段化至350 bp,末端修复加A尾后连接Illumina接头。北京诺禾致源公司采用Illumina平台进行2×150 bp双端测序。原始数据经Trimmomatic v0.39质控后,用SPAdes v3.15.5进行de novo组装(获得73个contig),BV-BRC流程注释。通过OrthoANI计算平均核苷酸一致性(ANI)。

4.7 基因组注释与分析(TODO: 待完善)

使用Abricate比对MEGARes 2.0和ARG-ANNOT数据库分析耐药基因;VFDB和PHASTEST分别预测毒力因子和前噬菌体;Proksee绘制基因组图谱;PubMLST进行多位点序列分型(MLST)。

(注:本节需根据实际分析结果补充具体参数和图表)

DATA AVAILABILITY 数据可用性

HKAB-1原始测序数据已提交至NCBI GenBank(编号xxxx)。

表1:鲍曼不动杆菌临床分离株HKAB-1与标准菌株ATCC19606的抗生素敏感性(MIC,μg/ml) 抗生素类别 抗生素 ATCC 19606 HKAB-1 氨基糖苷类 阿米卡星 16 4 庆大霉素 16-32 1-2 妥布霉素 2-4 0.5 碳青霉烯类 多尼培南 0.5 0.125 美罗培南 1 0.125 头孢菌素类 头孢噻肟 8 8-16 头孢曲松 64-128 32-64 头孢呋辛 128 32-64 氟喹诺酮类 环丙沙星 1 0.125 左氧氟沙星 0.5 0.125-0.25 大环内酯类 阿奇霉素 32-64 4 克拉霉素 64-128 32-128 红霉素 16 8 青霉素类 阿莫西林 256 16 苯唑西林 256-512 256 哌拉西林 128 32 四环素类 多西环素 2 0.25 米诺环素 0.5 0.125 四环素 32-64 4 替加环素 4 0.125-0.25 其他抗生素 氯霉素 64-128 64-128 克林霉素 256 256-512 夫西地酸 256 256 利奈唑胺 256 256 呋喃妥因 128-256 >256 磷霉素 >1024 >1024 多粘菌素B 0.25 0.5 利福平 2 4 磺胺甲恶唑 1024 1024 甲氧苄啶 64-128 32-128 万古霉素 256-512 256

表2:基因组测序数据及特征概述

指标 数值 总测序读长数
覆盖度 Contig数量
粗一致性(%) 细一致性(%) 完整性(%)
污染度(%)
基因组大小(bp)
Contigs N50(bp) Contigs L50 GC含量(%) 基因总数
编码序列(CDS)数量 tRNA数量
rRNA数量

表3:基于Pasteur分型方案的HKAB-1 MLST分型(ST392) 基因座 等位基因 Contig 起始位置 终止位置 cpn60 1 1 820321 820725 fusA 65 8 160365 160997 gltA 6 7 238432 238914 pyrG 2 1 53190 53486 recA 63 1 126818 127189 rplB 1 2 410799 411128 rpoB 4 5 5765 6220

表4:HKAB-1的预测抗生素耐药基因 (内容待补充)

表5:基于VFDB的HKAB-1毒力因子预测 (内容待补充)

图1:ATCC19606与HKAB-1的生长动力学及生物膜形成

(A) 采用Baranyi生长模型(无滞后期)拟合的生长曲线,阴影区表示95%置信区间。

(B) 模型计算的最大比生长速率(μmax)。

(C) 5小时时间点的OD₆₀₀值。

(D) 30°C和37°C下结晶紫染色的生物膜定量分析(数据为三次独立实验均值±SEM,统计学采用非配对t检验)。

图2:ATCC19606与HKAB-1的运动表型

(A-B) 琼脂-塑料界面穿刺接种测定颤搐运动(twitching),结晶紫染色后测量直径。

(C-D) 半固体琼脂表面

图3 (TODO: check correction?)

Distinguishing Cis and Trans Regulation: A Focus on miRNAs

Cis-regulation vs Trans-regulation (in gene expression):

Feature Cis-regulation Trans-regulation
Location Regulator is on the same DNA molecule, near the target gene Regulator is on a different molecule, often a diffusible factor (like a protein or RNA)
Examples Promoters, enhancers, silencers (DNA elements) Transcription factors, miRNAs, long non-coding RNAs

❓ So, is miRNA cis or trans?

✅ miRNAs (microRNAs) are trans-regulators.

They are transcribed from their own genes and act on other target mRNAs, usually by base-pairing with complementary sequences in the 3' UTR.

Since they do not regulate genes at their own locus, but instead move to regulate other transcripts, they clearly function in trans.

What type of evidence was used to assert linkage across the assembly gaps?

  • paired-ends: Paired sequences from the two ends of a DNA fragment, mate-pairs and molecular-barcoding.
  • align-genus: Alignment to a reference genome within the same genus.
  • align-xgenus: Alignment to a reference genome within another genus.
  • map: Linkage asserted using a non-sequence based map such as RH, linkage, fingerprint or optical.
  • proximity-ligation: Ligation of segments of DNA that were brought into proximity in chromatin (Hi-C and related technologies).
    • align-trnscpt: Alignment to a transcript from the same species.

Much less common:

  • within-clone: Sequence on both sides of the gap is derived from the same clone, but the gap is not spanned by paired-ends. The adjacent sequence contigs have unknown order and orientation.
  • clone-contig: Linkage is provided by a clone contig in the tiling path (TPF). For example, a gap where there is a known clone, but there is not yet sequence for that clone.

Note: if more than one linkage evidence was used, then we cannot convert the runs of Ns appropriately, so you need to make a .sqn file using MakeGapTable.pl and tbl2asn

Analysis of the RNA binding protein motifs for RNA Seq

Analysis of the RNA binding protein motifs for RNA Seq

TODOs_NEXTWEEK: how to use RBPmap results to enrich the significant RBPs for RNA-seq (3′ UTRs?) and miRNAs?

    🧬 1. RBPmap (Web + Command-line)

        Type: Web tool and downloadable Perl scripts

        Purpose: Scans RNA sequences for known RBP motifs

        Database: Uses curated RBP motif sets (e.g., from literature, CLIP data)

        URL: https://rbpmap.technion.ac.il/

    ✅ Good for: Biologists without strong R background
    🚫 Not a package, but scriptable via CLI or HTML results
  1. filtering out RBP from the database

  2. improve the output of the 3utr_down_cleaned.fasta

  3. multiple testing

  4. perform this for miRNA.

http://xgenes.com/article/article-content/146/peak-and-motif-analyses-in-promoters/

http://xgenes.com/article/article-content/154/density-of-motif-plots-and-its-statistical-tests/

There are several alternative R packages and tools to perform motif enrichment analysis for RNA-binding proteins (RBPs), beyond PWMEnrich::motifEnrichment(). Here are the most notable ones:

| Tool / Package | Enrichment | Custom Motifs | CLI or R? | RNA-specific? |

| ———————— | —————– | ————— | ——— | ————– |

| PWMEnrich | ✅ | ✅ | R | ✅ |

| RBPmap | ✅ | ❌ (uses own db) | Web/CLI | ✅ | —-> try RBPmap_results + enrichments!

| Biostrings/TFBSTools | ❌ (only scanning) | ✅ | R | ❌ | #ATtRACT + Biostrings / TFBSTools

| rmap | ✅ (CLIP-based) | ❌ | R | ✅ |

| Homer | ✅ | ✅ | CLI | ⚠ RNA optional |

| MEME (AME, FIMO) | ✅ | ✅ | Web/CLI | ⚠ Generic |

  1. Using R to get 3UTR_sequences.fasta, 5UTR

    setwd("~/DATA/Data_Ute/Data_RNA-Seq_MKL-1+WaGa/motif_analysis")
    
    # === STEP 0: Load libraries ===
    if (!requireNamespace("biomaRt", quietly = TRUE)) install.packages("biomaRt")
    library(biomaRt)
    
    # === STEP 1: Load DEG files ===
    ~/DATA/Data_Ute/Data_RNA-Seq_MKL-1+WaGa/results_2025_1/degenes/MKL-1_wt.EV_vs_parental-up.txt    #20086
    ~/DATA/Data_Ute/Data_RNA-Seq_MKL-1+WaGa/results_2025_1/degenes/MKL-1_wt.EV_vs_parental-down.txt  #634
    ~/DATA/Data_Ute/Data_RNA-Seq_MKL-1+WaGa/results_2025_1/degenes/WaGa_wt.EV_vs_parental-up.txt     #23832
    ~/DATA/Data_Ute/Data_RNA-Seq_MKL-1+WaGa/results_2025_1/degenes/WaGa_wt.EV_vs_parental-down.txt   #375
    up_file <- "~/DATA/Data_Ute/Data_RNA-Seq_MKL-1+WaGa/results_2025_1/degenes/MKL-1_wt.EV_vs_parental-up.txt"
    down_file <- "~/DATA/Data_Ute/Data_RNA-Seq_MKL-1+WaGa/results_2025_1/degenes/MKL-1_wt.EV_vs_parental-down.txt"
    
    up_degs <- read.table(up_file, header = TRUE, sep = "\t", stringsAsFactors = FALSE)
    down_degs <- read.table(down_file, header = TRUE, sep = "\t", stringsAsFactors = FALSE)
    
    # === STEP 2: Clean & extract Ensembl gene IDs ===
    up_ids <- unique(na.omit(up_degs[[1]]))
    down_ids <- unique(na.omit(down_degs[[1]]))
    
    # Optional: protein-coding filter
    # up_ids <- unique(up_degs$external_gene_name[up_degs$gene_biotype == "protein_coding"])
    # down_ids <- unique(down_degs$external_gene_name[down_degs$gene_biotype == "protein_coding"])
    
    # === STEP 3: Connect to Ensembl Asia mirror ===
    ensembl <- useMart("ensembl", dataset = "hsapiens_gene_ensembl", host = "https://asia.ensembl.org")
    
    # === STEP 4: Robust, minimal-loss sequence fetch ===
    get_sequences <- function(ids, seqType, batch_size = 300, retry_depth = 3) {
    all_seqs <- list()
    failed_ids <- c()
    
    safe_batch_query <- function(batch_ids, depth = 1) {
        if (length(batch_ids) == 0) return(NULL)
    
        tryCatch({
        seqs <- getSequence(id = batch_ids,
                            type = "ensembl_gene_id",
                            seqType = seqType,
                            mart = ensembl)
        seqs <- seqs[seqs[[seqType]] != "", ]
        return(seqs)
        }, error = function(e) {
        if (depth < retry_depth && length(batch_ids) > 1) {
            # Split batch and retry each half
            split_batches <- split(batch_ids, ceiling(seq_along(batch_ids)/ceiling(length(batch_ids)/2)))
            result <- lapply(split_batches, safe_batch_query, depth = depth + 1)
            return(do.call(rbind, result))
        } else {
            message("❌ Final failure for ", length(batch_ids), " genes. Logging IDs.")
            failed_ids <<- c(failed_ids, batch_ids)
            return(NULL)
        }
        })
    }
    
    id_batches <- split(ids, ceiling(seq_along(ids) / batch_size))
    for (i in seq_along(id_batches)) {
        batch <- id_batches[[i]]
        cat(sprintf("    🔹 Batch %d/%d (%d genes)\n", i, length(id_batches), length(batch)))
        result <- safe_batch_query(batch)
        if (!is.null(result) && nrow(result) > 0) {
        all_seqs[[length(all_seqs) + 1]] <- result
        }
    }
    
    if (length(failed_ids) > 0) {
        writeLines(failed_ids, paste0("failed_ids_", seqType, ".txt"))
        message("⚠️ Failed IDs saved to failed_ids_", seqType, ".txt")
    }
    
    if (length(all_seqs) == 0) return(data.frame())
    return(do.call(rbind, all_seqs))
    }
    
    # === STEP 5: Write FASTA ===
    write_fasta <- function(sequences, names, file) {
    con <- file(file, "w")
    for (i in seq_along(sequences)) {
        cat(">", names[i], "\n", sequences[i], "\n", file = con, sep = "")
    }
    close(con)
    }
    
    # === STEP 6: Background sampling ===
    cat("📦 Fetching background gene list...\n")
    all_deg_ids <- unique(c(up_ids, down_ids))
    all_genes <- getBM(attributes = c("ensembl_gene_id"), mart = ensembl)
    bg_ids <- setdiff(all_genes$ensembl_gene_id, all_deg_ids)
    bg_sample <- sample(bg_ids, 1000)
    
    # === STEP 7: Fetch sequences by group and type ===
    seq_types <- c("3utr", "5utr", "cds", "transcript")
    groups <- list(
    up = up_ids,
    down = down_ids,
    background = bg_sample
    )
    
    for (seq_type in seq_types) {
    cat(sprintf("\n⏳ Fetching %s sequences...\n", seq_type))
    for (group_name in names(groups)) {
        cat(sprintf("  🔸 Group: %s\n", group_name))
        ids <- groups[[group_name]]
        seqs <- get_sequences(ids, seq_type)
        if (nrow(seqs) > 0) {
        out_file <- paste0(seq_type, "_", group_name, ".fasta")
        write_fasta(seqs[[seq_type]], seqs$ensembl_gene_id, out_file)
        cat("    ✅ Written to", out_file, "\n")
        } else {
        message("⚠️ No sequences found for ", group_name, " (", seq_type, ")")
        }
    }
    }
    
    cat("\n✅ All FASTA files created for: 3′UTR, 5′UTR, CDS, and Transcript.\n")
  2. Using https://rbpmap.technion.ac.il/1747409685/results.html, how to predict p-value for a specific RBP?

    #Try using RBPmap
    ~/DATA/Data_Ute/Data_RNA-Seq_MKL-1+WaGa/motif_analysis/run2/3utr_down.fasta
  3. Significant RBP enrichments

    install.packages("BiocManager")
    BiocManager::install("BSgenome")
    BiocManager::install("Biostrings")
    BiocManager::install("motifmatchr")
    #BiocManager::install("MotifDb")
    #BiocManager::install("motifStack")
    BiocManager::install("TFBSTools")
    #install.packages("pheatmap")
    
    library(Matrix)
    library(pheatmap)
    library(Biostrings)
    library(motifmatchr)
    library(GenomicRanges)
    #library(MotifDb)
    #library(motifStack)
    library(TFBSTools)
    library(SummarizedExperiment)
    library(ggplot2)
    library(pheatmap)
    
    library(PWMEnrich)
    library(PWMEnrich.Hsapiens.background)
    
    # ------------- Methods -----------
    
    clean_fasta_file <- function(infile, outfile) {
    lines <- readLines(infile)
    
    # Initialize variables to store cleaned lines
    cleaned_lines <- list()
    add_line <- FALSE  # To track when we need to add a sequence
    
    for (line in lines) {
        # If the line is a header and contains "Sequence unavailable", skip it
        if (startsWith(line, ">") && grepl("Sequence unavailable", line)) {
        add_line <- FALSE  # Don't add this header or its sequence
        } else if (startsWith(line, ">")) {
        # If it's a new header, start adding the following sequence
        add_line <- TRUE
        cleaned_lines <- c(cleaned_lines, line)
        } else if (add_line) {
        # Add the sequence line if it follows a valid header
        cleaned_lines <- c(cleaned_lines, line)
        }
    }
    
    # Write cleaned lines to the output file
    writeLines(cleaned_lines, outfile)
    }
    
    # Function to clean sequences by replacing invalid characters with 'N'
    clean_invalid_sequences <- function(dna_string_set) {
    valid_bases <- c("A", "T", "C", "G", "N")  # Define valid DNA bases
    clean_sequences <- lapply(dna_string_set, function(seq) {
        # Remove invalid characters, replace them with 'N'
        seq <- gsub("[^ATCGN]", "N", as.character(seq))  # Replace non-ATCGN characters with 'N'
        DNAString(seq)  # Return as a valid DNAString object
    })
    return(DNAStringSet(clean_sequences))  # Return cleaned sequences as a DNAStringSet
    }
    
    # ============================================
    # 2. Read and clean 3′ UTR sequences
    # ============================================
    # Clean your FASTA file
    clean_fasta_file("run2/3utr_up.fasta", "run2/3utr_up_cleaned.fasta")
    clean_fasta_file("run2/3utr_down.fasta", "run2/3utr_down_cleaned.fasta")
    clean_fasta_file("run2/3utr_background.fasta", "run2/3utr_background_cleaned.fasta")
    clean_fasta_file("run2/5utr_up.fasta", "run2/5utr_up_cleaned.fasta")
    clean_fasta_file("run2/5utr_down.fasta", "run2/5utr_down_cleaned.fasta")
    clean_fasta_file("run2/5utr_background.fasta", "run2/5utr_background_cleaned.fasta")
    
    # Read in the cleaned FASTA files
    utr_3_up_raw <- readDNAStringSet("run2/3utr_up_cleaned.fasta")
    utr_3_down_raw <- readDNAStringSet("run2/3utr_down_cleaned.fasta")
    utr_3_background_raw <- readDNAStringSet("run2/3utr_background_cleaned.fasta")
    utr_5_up_raw <- readDNAStringSet("run2/5utr_up_cleaned.fasta")
    utr_5_down_raw <- readDNAStringSet("run2/5utr_down_cleaned.fasta")
    utr_5_background_raw <- readDNAStringSet("run2/5utr_background_cleaned.fasta")
    
    # Clean sequences
    utr_3_up <- clean_invalid_sequences(utr_3_up_raw)
    utr_3_down <- clean_invalid_sequences(utr_3_down_raw)
    utr_3_background <- clean_invalid_sequences(utr_3_background_raw)
    utr_5_up <- clean_invalid_sequences(utr_5_up_raw)
    utr_5_down <- clean_invalid_sequences(utr_5_down_raw)
    utr_5_background <- clean_invalid_sequences(utr_5_background_raw)
    
    # Filter out sequences shorter than the shortest PWM (e.g. 6 bp)
    # and any sequences containing ambiguous bases (non‑ACGT)
    min_pwm_length <- 6
    utr_3_down_clean <- utr_3_down[
    width(utr_3_down) >= min_pwm_length &
    !grepl("[^ACGT]", as.character(utr_3_down))
    ]
    #cat("Kept", length(utr_down_clean), "sequences after cleaning.\n")
    utr_3_background_clean <- utr_3_background[
    width(utr_3_background) >= min_pwm_length &
    !grepl("[^ACGT]", as.character(utr_3_background))
    ]
    
    # Install packages (if not already)
    if (!requireNamespace("BiocManager", quietly = TRUE)) install.packages("BiocManager")
    BiocManager::install(c("PWMEnrich", "Biostrings", "PWMEnrich.Hsapiens.background", "MotifDb"))
    BiocManager::install("PWMEnrich.Hsapiens.background")
    
    # Load libraries
    library(PWMEnrich)
    library(Biostrings)
    library(PWMEnrich.Hsapiens.background)
    library(MotifDb)
    
    # ============================================
    # 3. Load the hg19 GC‑aware background model
    # ============================================
    data("PWMLogn.hg19.MotifDb.Hsap",
        package = "PWMEnrich.Hsapiens.background")
    bg_model <- PWMLogn.hg19.MotifDb.Hsap
    
    # ============================================
    # 4. Define your list of RBP gene symbols
    # ============================================
    
    # Specific RBP gene symbols
    rbp_genes <- c("A1CF", "A2BP1", "AC004381.6", "AC008073.5", "ACO1", "AKAP1", "AKAP17A", "AL662825.2", "AL662825.3", "AL662849.4", "AL844853.7", "ALKBH8", "ANKHD1", "ANKRD17", "APLF", "ASCC1", "BICC1", "BOLL", "BRAP", "BRUNOL4", "BRUNOL5", "BRUNOL6", "BX000357.2", "BX005143.2", "BX119957.7", "BX248507.1", "BX248518.2", "BX511012.1", "BX908728.4", "BX927220.1", "C14orf156", "C14orf21", "CARHSP1", "CELF1", "CELF2", "CELF3", "CIRBP", "CNBP", "CNOT4", "CPEB1", "CPEB2", "CPEB3", "CPEB4", "CPSF4", "CPSF4L", "CPSF6", "CPSF7", "CR388219.1", "CR388372.1", "CR753328.1", "CR759778.5", "CR759782.5", "CR847863.1", "CSDA", "CSDC2", "CSDE1", "CSTF2", "CSTF2T", "DAZ1", "DAZ2", "DAZ3", "DAZ4", "DAZAP1", "DAZL", "DDX41", "DDX43", "DDX53", "DHX57", "DHX8", "DNAJC17", "DPPA5", "DUS3L", "EIF2S1", "EIF3B", "EIF3G", "EIF4B", "EIF4H", "ELAVL1", "ELAVL2", "ELAVL3", "ELAVL4", "ENOX1", "ENOX2", "ENSG00000180771", "ENSG00000183403", "ENSG00000185728", "ENSG00000213250", "ENSG00000215042", "ENSG00000215492", "ENSG00000231942", "ENSG00000248163", "ENSG00000249536", "ENSG00000249644", "ENSG00000250177", "ERAL1", "ESRP1", "ESRP2", "EWSR1", "FMR1", "FUBP1", "FUBP3", "FUS", "Fusip1", "FXR1", "FXR2", "G3BP1", "G3BP2", "GRSF1", "HDLBP", "HELZ", "HNRNPA0", "HNRNPA1", "HNRNPA1L2", "HNRNPA2B1", "HNRNPA3", "HNRNPAB", "HNRNPC", "HNRNPCL1", "HNRNPD", "HNRNPF", "HNRNPH1", "HNRNPH2", "HNRNPH3", "hnRNPK", "HNRNPL", "hnRNPLL", "HNRNPM", "HNRNPR", "HNRPDL", "HTATSF1", "IGF2BP1", "IGF2BP2", "IGF2BP3", "KHDRBS1", "KHDRBS2", "KHDRBS3", "KHSRP", "KIAA0430", "KRR1", "LARP1", "LARP1B", "LARP4", "LARP4B", "LARP6", "LARP7", "LENG9", "LIN28A", "LIN28B", "MATR3", "MBNL1", "MBNL2", "MBNL3", "MDM2", "MEX3B", "MEX3C", "MEX3D", "MKI67IP", "MKRN1", "MKRN2", "MKRN3", "MRPS28", "MSI1", "MSI2", "MTHFSD", "MYEF2", "NCBP2", "NCBP2L", "NCL", "NEIL3", "NOL8", "NONO", "NOVA1", "NOVA2", "NPLOC4", "NUP153", "NUPL2", "PABPC1", "PABPC1L", "PABPC1L2A", "PABPC1L2B", "PABPC3", "PABPC4", "PABPC5", "PABPN1", "PABPN1L", "PAN3", "PARP12", "PCBP1", "PCBP2", "PCBP3", "PCBP4", "PDCD11", "PEG10", "PNMA3", "PNO1", "PNPT1", "POLDIP3", "POLR2G", "PPARGC1A", "PPARGC1B", "PPIE", "PPIL4", "PPP1R10", "PPRC1", "PRR3", "PSPC1", "PTBP1", "PTBP2", "PUF60", "PUM1", "PUM2", "QKI", "RALY", "RANBP2", "RAVER1", "RAVER2", "RBBP6", "RBCK1", "RBFOX2", "RBFOX3", "RBM10", "RBM11", "RBM12", "RBM12B", "RBM14-RBM4", "RBM15", "RBM15B", "RBM17", "RBM18", "RBM19", "RBM22", "RBM23", "RBM24", "RBM25", "RBM26", "RBM27", "RBM28", "RBM3", "RBM33", "RBM34", "RBM38", "RBM39", "RBM4", "RBM41", "RBM42", "RBM44", "RBM45", "RBM46", "RBM47", "RBM4B", "RBM5", "RBM6", "RBM7", "RBM8A", "RBMS1", "RBMS2", "RBMS3", "RBMX", "RBMX2", "RBMXL1", "RBMXL2", "RBMXL3", "RBMY1A1", "RBMY1B", "RBMY1D", "RBMY1E", "RBMY1F", "RBMY1J", "RBPMS", "RBPMS2", "RBP_Name", "RC3H1", "RC3H2", "RCAN2", "RDBP", "RDM1", "RNF113A", "RNF113B", "RNF31", "RNPC3", "RNPS1", "ROD1", "RP11-1286E23.4", "RRP7A", "RYBP", "SAFB", "SAFB2", "SAMD4A", "SAMD4B", "SART3", "SCAF4", "SCAF8", "SETD1A", "SETD1B", "SF1", "SF3B4", "SFPQ", "SHARPIN", "SLTM", "SNRNP35", "SNRNP70", "SNRPA", "SNRPB2", "SOLH", "SPEN", "SRBD1", "SREK1", "SRRT", "SRSF1", "SRSF11", "SRSF12", "SRSF2", "SRSF3", "SRSF4", "SRSF5", "SRSF6", "SRSF7", "SRSF9", "SSB", "STAR-PAP", "SUPT6H", "SYNCRIP", "TAB2", "TAB3", "TAF15", "TARDBP", "TDRD10", "TDRKH", "TEX13A", "THOC4", "TIA1", "TIAL1", "TMEM63A", "TMEM63B", "TNRC6A", "TNRC6B", "TNRC6C", "TOE1", "TRA2A", "TRA2B", "TRMT1", "TRMT2A", "TRNAU1AP", "TTC14", "U2AF1", "U2AF1L4", "U2AF2", "U2SURP", "UHMK1", "UNK", "UNKL", "UPF3B", "YAF2", "YB-1", "YBX2", "YTHDC1", "YTHDC2", "YTHDF1", "YTHDF2", "ZC3H10", "ZC3H13", "ZC3H15", "ZC3H18", "ZC3H3", "ZC3H4", "ZC3H6", "ZC3H7A", "ZC3H7B", "ZC3H8", "ZCCHC11", "ZCCHC13", "ZCCHC14", "ZCCHC17", "ZCCHC2", "ZCCHC3", "ZCCHC5", "ZCCHC6", "ZCCHC7", "ZCCHC8", "ZCCHC9", "ZCRB1", "ZFP36", "ZFP36L1", "ZFP36L2", "ZGPAT", "ZMAT5", "ZNF638", "ZRANB1", "ZRANB2", "ZRANB3", "ZRSR1", "ZRSR2")
    
    # ============================================
    # 5. Extract all PWMs from background & filter to RBPs
    # ============================================
    #all_pwms <- bg_model@pwms  #2287
    #rbp_pwms <- all_pwms[
    #  vapply(names(all_pwms),
    #         function(nm) any(nm %in% rbp_genes),
    #         logical(1))
    #]
    
    # 如果你想做模糊匹配(基因名作为子串出现),可以用:
    rbp_pwms <- all_pwms[grepl(paste(rbp_genes, collapse="|"), names(all_pwms), ignore.case=TRUE)]
    
    cat("Number of RBP PWMs selected:", length(rbp_pwms), "\n")
    cat("Example PWM names:\n", head(names(rbp_pwms), 10), "\n")
    
    # ============================================
    # 6. Create a custom background model with only RBP PWMs
    # ============================================
    custom_bg <- bg_model
    custom_bg@pwms <- rbp_pwms
    
    # ============================================
    # 7. Run motif enrichment
    # ============================================
    enrichment_result <- motifEnrichment(utr_3_down_clean, custom_bg)
    
    # ============================================
    # 8. Generate report & convert to data.frame
    # ============================================
    report_list <- groupReport(enrichment_result)
    report_df   <- as.data.frame(report_list)
    
    # ============================================
    # 9. Apply BH correction and filter significant hits
    # ============================================
    report_df$adj_pval <- p.adjust(report_df$p.value, method = "BH")
    significant_hits <- subset(report_df, adj_pval < 0.05)
    
    # ============================================
    # 10. View results
    # ============================================
    # Display motif name, raw p-value, adjusted p-value, and enrichment score
    colnames(significant_hits)[
    match(c("target","id","raw.score"), colnames(significant_hits))
    ] <- c("Gene", "Motif_ID", "EnrichmentScore")
    
    print(
    head(
        significant_hits[, c("Gene","Motif_ID","EnrichmentScore","p.value","adj_pval")],
        6
    )
    )
    
    p <- ggplot(significant_hits,
                aes(x = reorder(Motif_ID, adj_pval),
                    y = -log10(adj_pval))) +
    geom_col() +
    coord_flip() +
    labs(
        x = "Motif ID",
        y = expression(-log[10]("FDR‑adjusted p‑value")),
        title = "Significant RBP Motif Enrichment"
    ) +
    theme_minimal()
    ggsave(
    filename = "RBP_motif_enrichment.png",  # or any path you like
    plot     = p,
    width    = 8,     # inches
    height   = 6,     # inches
    dpi      = 300    # resolution
    )
  4. Perform similar RBP-mapping by myself

    # Load a set of RBP motifs from a database (e.g., RBPDB) RBPDB, ENCODE, JASPAR, or even UCL's RBP motifs.
    
    # Set path to your PWM directory
    pfm_dir <- "/media/jhuang/Elements/Data_Ute/Data_RNA-Seq_MKL-1+WaGa/motif_analysis/PFMDir"
    
    # List all .pfm files
    pfm_files <- list.files(pfm_dir, pattern = "\\.pfm$", full.names = TRUE)
    
    # Create an empty list to store PWMs
    pfm_list <- list()
    
    # Loop through each file
    for (file in pfm_files) {
    # Read table
    pfm <- tryCatch({
        mat <- read.table(file, header = FALSE)
        mat <- as.matrix(mat)
    
        # Optionally add column names (assuming 4 columns for A, C, G, T)
        if (ncol(mat) == 4) {
        colnames(mat) <- c("A", "C", "G", "T")
        }
    
        mat
    }, error = function(e) {
        message("Failed to read: ", file)
        NULL
    })
    
    # Use the filename (without extension) as list name
    name <- tools::file_path_sans_ext(basename(file))
    pfm_list[[name]] <- pfm
    }
    
    # Check one example
    str(pfm_list[[1]])
    #saveRDS(pfm_list, file = "compiled_pfm_list.rds")
    
    #The error you're seeing (invalid PFM 'x': not an integer matrix) indicates that the PWM function expects the input matrix to represent raw position frequency matrices (PFMs), which are expected to be integer counts, but the matrices you have are likely log-odds matrices (floating point values), which represent the log-transformed scores instead of raw counts.
    
    # convert to PFMatrix
    pfm_named_list <- lapply(pfm_list, function(mat) {
    mat <- as.matrix(mat)
    if (!all(rownames(mat) %in% c("A", "C", "G", "T"))) {
        rownames(mat) <- c("A", "C", "G", "T")
    }
    PFMatrix(ID = "motif", name = "motif", profileMatrix = mat)
    })
    
    # Create an empty list to store results
    match_results_list <- list()
    
    # Iterate through each PFMatrix object in the list
    for (i in seq_along(pfm_named_list)) {
    # Get the current PFMatrix object
    current_pfm <- pfm_named_list[[i]]
    
    # Run matchMotifs for the current motif
    match_result <- tryCatch({
        #matchMotifs(pfm_obj, subject = utr_3_down, genome = NULL, p.cutoff = 1e-3)
        matchMotifs(current_pfm, subject = utr_3_down, genome = NULL, p.cutoff = 1e-3)
    }, error = function(e) {
        message("Error with motif ", names(pfm_named_list)[i], ": ", e$message)
        return(NULL)  # Return NULL if error occurs
    })
    
    # Store the result if no error
    if (!is.null(match_result)) {
        match_results_list[[names(pfm_named_list)[i]]] <- match_result
    }
    }
    
    # Check the results
    match_results_list
    
    # Extract motif match results for one motif
    motif_matches_1004_8676391 <- assay(match_results_list[["1004_8676391"]], "motifMatches")
    
    # Convert sparse matrix to dense matrix
    dense_matrix <- as.matrix(motif_matches_1004_8676391)
    
    # Optional: Add rownames for better visualization (if available)
    if (!is.null(names(utr_3_down))) {
    rownames(dense_matrix) <- names(utr_3_down)
    }
    
    # Convert logical matrix to numeric (1 for TRUE, 0 for FALSE)
    dense_matrix_num <- matrix(as.numeric(dense_matrix),
                            nrow = nrow(dense_matrix),
                            dimnames = dimnames(dense_matrix))
    
    # Now plot the heatmap
    png("motif_match_1004_8676391.png", width = 800, height = 1600)
    pheatmap(dense_matrix_num,
            cluster_rows = FALSE,
            cluster_cols = FALSE,
            color = c("grey", "steelblue"),
            legend_breaks = c(0, 1),
            legend_labels = c("No match", "Match"),
            main = "Motif Match: 1004_8676391")
    dev.off()
    
    #✅ Output
    #You will see a binary heatmap, where:
    #   * Blue cells = motif matched
    #   * White cells = no match
    #Let me know if you want to loop this over all motifs or save the plot to a file.
  5. Does hg19 vs hg38 Position Matter in Motif Enrichment?

    ✅ If you're doing motif enrichment analysis only (like PWMEnrich):
    
    Position DOES NOT matter.
    Here's why:
    Aspect  Explanation
    🔍 PWMEnrich Only scans sequences for motif matches based on nucleotide content (e.g., enrichment of AU-rich motifs in downregulated 3′UTRs).
    📏 Coordinates   Genomic coordinates (hg19 vs hg38) are not used in enrichment. Only the sequence itself matters.
    ⚖️ Statistical Test The enrichment is based on observed motif frequency vs background expectations (GC-aware or custom). No genome alignment is done.
    
    So:
    
        ✅ As long as your 3′ UTR sequences are correct and biologically relevant, using an hg19 background is safe — even if your gene models are from hg38.
    
    ❗️ When does genome version matter?
    
    If you're doing things like:
    Use case    Position-sensitive?
    🔬 Variant effect on motifs (e.g., SNPs in motifs)   ✅ Yes
    🧭 Mapping motifs to genome positions (e.g., ChIP-seq overlaps)  ✅ Yes
    📦 Loading sequences from coordinates (not FASTA)    ✅ Yes
    🧠 Expression + genomic track integration (e.g., motif + ATAC-seq)   ✅ Yes
    
    Then you must ensure genome versions match exactly.
    ✅ In Your Case: Motif Enrichment of Downregulated 3′UTRs
    
        If you are:
    
        Feeding real 3′UTR sequences (as DNAStringSet) for downregulated genes
    
        Using PWMEnrich purely for motif enrichment
    
    Then:
    
        ✅ hg19 vs hg38 does not matter
        ❗ Only sequence content matters
    
    Let me know if you want to later map enriched motifs back to genome positions — that’s when we’d switch to position-aware tools like FIMO, MOODS, or rtracklayer.
  6. Custom RBP-database preparation (failed!)

    # Example: Create a PWM for 2 fake motifs (replace with your actual PWMs)
    #motif1 <- matrix(c(0.2, 0.3, 0.3, 0.2,
    #                   0.1, 0.4, 0.4, 0.1,
    #                   0.25, 0.25, 0.25, 0.25,
    #                   0.3, 0.2, 0.3, 0.2), nrow = 4, byrow = TRUE,
    #                 dimnames = list(c("A", "C", "G", "T"), NULL))
    #motif2 <- matrix(c(0.3, 0.2, 0.2, 0.3,
    #                   0.4, 0.1, 0.4, 0.1,
    #                   0.25, 0.25, 0.25, 0.25,
    #                   0.2, 0.3, 0.2, 0.3), nrow = 4, byrow = TRUE,
    #                 dimnames = list(c("A", "C", "G", "T"), NULL))
    #rbp_pwms <- list(RBP1 = motif1, RBP2 = motif2)
    
    pwm_dir <- "/media/jhuang/Elements/Data_Ute/Data_RNA-Seq_MKL-1+WaGa/motif_analysis/PWMDir"
    pwm_files <- list.files(pwm_dir, pattern = "\\.pwm$", full.names = TRUE)
    rbp_pwms <- list()
    for (file in pwm_files) {
    # Read table
    pwm <- tryCatch({
        mat <- read.table(file, header = FALSE)
        mat <- as.matrix(mat)
    
        # Optionally add column names (assuming 4 columns for A, C, G, T)
        if (ncol(mat) == 4) {
        colnames(mat) <- c("A", "C", "G", "T")
        }
    
        mat
    }, error = function(e) {
        message("Failed to read: ", file)
        NULL
    })
    
    # Use the filename (without extension) as list name
    name <- tools::file_path_sans_ext(basename(file))
    rbp_pwms[[name]] <- pwm
    }
    
    # -- filtering (ERROR) --
    pwm_list <- motifs(bg_model)
    # Example: filter motifs containing 'ELAVL' or 'HNRNP'
    #rbp_pwms <- pwm_list[grep("ELAVL|HNRNP|IGF2BP|RBFOX|FMR1|PUM", names(pwm_list))]
    rbp_enrichment <- motifEnrichment(utr_3_down, bg_model, pwmList = rbp_pwms)
    rbp_report <- groupReport(rbp_enrichment)
    
    # -- from MotifDb --
    library(MotifDb)
    human_motifs <- query(MotifDb, "Hsapiens")
    rbp_motifs <- query(human_motifs, "RBP")
    
    # ---- try Build your background model directly from these PWMs ----
    
    # 1. List all PWM files
    files_all <- list.files("~/Downloads/cisbp-rna/pwms_all_motifs", pattern="\\.txt$", full.names=TRUE)
    
    # 2. Filter out empty files
    file_sizes <- file.info(files_all)$size
    files     <- files_all[file_sizes > 0]
    cat("Reading", length(files), "non‑empty PWM files out of", length(files_all), "\n")
    
    # 3. Define the reader (as before)
    readCisbpPfm <- function(path) {
    df <- read.table(path, header=TRUE, stringsAsFactors=FALSE)
    mat_rna <- as.matrix(df[, c("A","C","G","U")])
    mat_dna <- t(mat_rna)
    rownames(mat_dna) <- c("A","C","G","T")
    sweep(mat_dna, 2, colSums(mat_dna), FUN="/")
    }
    
    # 4. Read only the non‐empty files
    cisbp_mats <- lapply(files, readCisbpPfm)
    names(cisbp_mats) <- tools::file_path_sans_ext(basename(files))
    
    # 5. (Optional) Check the first few
    head(names(cisbp_mats))
    length(cisbp_mats)  #193
    
    # 6. Build your background model directly from these PWMs:
    bg_utrs <- utr_3_background_clean    #readDNAStringSet("run2/3utr_background.fasta")
    #bg_utrs <- bg_utrs[ width(bg_utrs)>=6 & !grepl("[^ACGT]", as.character(bg_utrs)) ]
    
    custom_bg <- makeBackground(
    seqs    = bg_utrs,
    motifs = cisbp_mats,
    type    = "logn",
    organism = "hg19",
    verbose  = TRUE
    )
    
    custom_bg <- makeBackground(
    sequences = bg_utrs,       # your DNAStringSet of background UTRs
    motifs    = cisbp_mats,    # your named list of PWM matrices
    type      = "logn",        # log‑normal GC‑aware model
    organism  = NULL,          # disable built‑in genomes
    verbose   = TRUE
    )
    
    custom_bg <- makeBackground(
    cisbp_mats,        # 1) motifs
    organism = "hg19",
    type    = "logn",  # 2) background model type
    bg.seq  = bg_utrs, # 3) override organism by supplying your own sequences
    quick   = FALSE    # (optional) fit to all sequences for best accuracy
    )
    
    # 1. Pick a library size to re‑scale your PWMs into PFMs
    library_size <- 1000   # you can also try 1000
    
    # 2. Convert each normalized matrix into integer counts
    cisbp_pfms <- lapply(cisbp_mats, function(pmat) {
    counts <- round(pmat * library_size)
    # ensure no column sums to zero (add pseudocount 1 if needed)
    zero_cols <- which(colSums(counts) == 0)
    if (length(zero_cols) > 0) {
        counts[, zero_cols] <- 1
    }
    counts
    })
    
    # 3. Build a custom background (PFMs + your bg UTRs)
    custom_bg <- makeBackground(
    cisbp_pfms,      # 1) a list of integer PFMs
    type   = "logn", # 2) log‑normal GC‑aware model
    bg.seq = bg_utrs,# 3) your background DNAStringSet
    quick  = FALSE   # fit on all sequences
    )
    
    # … then continue with motifEnrichment() on your down‑regulated UTRs as before.
    
    # 5) Read & clean your down‑regulated 3′UTRs
    down_utrs <- readDNAStringSet("downregulated_utrs.fasta")
    down_utrs <- down_utrs[ width(down_utrs)>=6 & !grepl("[^ACGT]", as.character(down_utrs)) ]
    
    # 6) Run the enrichment
    res    <- motifEnrichment(down_utrs, custom_bg)
    report <- groupReport(res)
    df     <- as.data.frame(report)
    df$adj_pval <- p.adjust(df$p.value, method="BH")
    
    # 7) Subset significant
    sig <- subset(df, adj_pval < 0.05)
    print(sig[, c("motif.name","p.value","adj_pval","enrichmentScore")])

Analysis of the RNA binding protein (RBP) motifs for RNA-Seq and miRNAs (v2)

There are several alternative R packages and tools to perform motif enrichment analysis for RNA-binding proteins (RBPs), beyond PWMEnrich::motifEnrichment(). Here are the most notable ones:

| Tool / Package           | Enrichment        | Custom Motifs   | CLI or R? | RNA-specific?  |
| ------------------------ | ----------------- | --------------- | --------- | -------------- |
| **PWMEnrich**            | ✅                 | ✅               | R         | ✅              |
| **RBPmap**               | ✅                 | ❌ (uses own db) | Web/CLI   | ✅              |  ----> try RBPmap_results + enrichments!
| **Biostrings/TFBSTools** | ❌ (only scanning) | ✅               | R         | ❌              |  #ATtRACT + Biostrings / TFBSTools
| **rmap**                 | ✅ (CLIP-based)    | ❌               | R         | ✅              |
| **Homer**                | ✅                 | ✅               | CLI       | ⚠ RNA optional |
| **MEME (AME, FIMO)**     | ✅                 | ✅               | Web/CLI   | ⚠ Generic      |
  1. Get 3UTR.fasta, 5UTR.fasta, CDS.fasta and transcripts.fasta

            mRNA Transcript
    ┌────────────┬────────────┬────────────┐
    │   5′ UTR   │     CDS    │   3′ UTR   │
    └────────────┴────────────┴────────────┘
    ↑            ↑            ↑            ↑
    Start        Start        Stop         End
    of           Codon       Codon        of
    Transcript                             Transcript
    
    ✅ Option 1: Use GENCODE and python scripts (CHOSEN!)
    
    ~/DATA/Data_Ute/Data_RNA-Seq_MKL-1+WaGa/results_2025_1/degenes/MKL-1_wt.EV_vs_parental-up.txt    #20086
    ~/DATA/Data_Ute/Data_RNA-Seq_MKL-1+WaGa/results_2025_1/degenes/MKL-1_wt.EV_vs_parental-down.txt  #634
    ~/DATA/Data_Ute/Data_RNA-Seq_MKL-1+WaGa/results_2025_1/degenes/WaGa_wt.EV_vs_parental-up.txt     #23832
    ~/DATA/Data_Ute/Data_RNA-Seq_MKL-1+WaGa/results_2025_1/degenes/WaGa_wt.EV_vs_parental-down.txt   #375
    
    #Filtering the down-regulated genes to include only protein_coding genes before extracting 3' UTRs, because
    #1. Only protein_coding genes have well-annotated 3' UTRs
    #3' UTRs are defined as the region after the CDS (coding sequence) and before the poly-A tail.
    #Non-coding RNAs (e.g., lncRNA, snoRNA, miRNA precursors) do not have CDS, and therefore don't have canonical 3' UTRs.
    #2. In GENCODE, most UTR annotations are only provided for transcripts of gene_type = "protein_coding".
    
    grep ",\"protein_coding\"," ~/DATA/Data_Ute/Data_RNA-Seq_MKL-1+WaGa/results_2025_1/degenes/MKL-1_wt.EV_vs_parental-up.txt > MKL-1_wt.EV_vs_parental-up_protein_coding.txt
    grep ",\"protein_coding\"," ~/DATA/Data_Ute/Data_RNA-Seq_MKL-1+WaGa/results_2025_1/degenes/MKL-1_wt.EV_vs_parental-down.txt > MKL-1_wt.EV_vs_parental-down_protein_coding.txt
    grep ",\"protein_coding\"," ~/DATA/Data_Ute/Data_RNA-Seq_MKL-1+WaGa/results_2025_1/degenes/WaGa_wt.EV_vs_parental-up.txt > WaGa_wt.EV_vs_parental-up_protein_coding.txt
    grep ",\"protein_coding\"," ~/DATA/Data_Ute/Data_RNA-Seq_MKL-1+WaGa/results_2025_1/degenes/WaGa_wt.EV_vs_parental-down.txt > WaGa_wt.EV_vs_parental-down_protein_coding.txt
    
    #Visit and Download: GENCODE FTP site https://www.gencodegenes.org/human/
        * GTF annotation file (e.g., gencode.v48.annotation.gtf.gz)
        * Corresponding genome FASTA (e.g., GRCh38.primary_assembly.genome.fa.gz)
    wget https://ftp.ebi.ac.uk/pub/databases/gencode/Gencode_human/release_48/gencode.v48.annotation.gtf.gz
    wget https://ftp.ebi.ac.uk/pub/databases/gencode/Gencode_human/release_48/GRCh38.primary_assembly.genome.fa.gz
    gunzip gencode.v48.annotation.gtf.gz
    gunzip GRCh38.primary_assembly.genome.fa.gz
    
    python extract_transcript_parts.py MKL-1_wt.EV_vs_parental-down_protein_coding.txt ~/REFs/gencode.v48.annotation.gtf ~/REFs/GRCh38.primary_assembly.genome.fa MKL-1_down
    python extract_transcript_parts.py MKL-1_wt.EV_vs_parental-up_protein_coding.txt ~/REFs/gencode.v48.annotation.gtf ~/REFs/GRCh38.primary_assembly.genome.fa MKL-1_up  #5988
    python extract_transcript_parts.py WaGa_wt.EV_vs_parental-down_protein_coding.txt ~/REFs/gencode.v48.annotation.gtf ~/REFs/GRCh38.primary_assembly.genome.fa WaGa_down  #93
    python extract_transcript_parts.py WaGa_wt.EV_vs_parental-up_protein_coding.txt ~/REFs/gencode.v48.annotation.gtf ~/REFs/GRCh38.primary_assembly.genome.fa WaGa_up  #6538
    
    ✅ Option 2-5 see at the end!
  2. Why 3′ UTR?

    🧬 miRNA, RBP, or translation/post-transcriptional regulation
    ➡️ Use 3' UTR sequences
    
    Because:
    
    Most miRNA binding and many RBP motifs are located in the 3' UTR.
    
    It’s the primary region for mRNA stability, localization, and translation regulation.
    
    🧠 Example: You're looking for binding enrichment of miRNAs or RNA-binding proteins (PUM, HuR, etc.)
    ✅ Input = 3UTR.fasta
    
    🧪 If you're testing PBRs related to:
    - Translation initiation, upstream ORFs, or 5' cap interaction:
    ➡️ Use 5' UTR
    
    - Coding mutations, protein-level motifs, or translational efficiency:
    ➡️ Use CDS
    
    - General transcriptome-wide motif search (no preference):
    ➡️ Use transcripts, or test all regions separately to localize signal
  3. Recommended Workflow with RBPmap https://rbpmap.technion.ac.il (Too slow!)

    RBPmap itself does not compute enrichment p-values or FDR; it's a motif scanning tool.
    
    To get statistically meaningful RBP enrichments, combine RBPmap with custom permutation testing or Fisher’s exact test + multiple testing correction.
    
        1. Prepare foreground (target) and background sequences
    
            Extract 3′ UTRs of:
    
            📉 Downregulated mRNAs (foreground) — likely targeted by upregulated miRNAs
    
            ⚪ A control set of 3′ UTRs — e.g., non-differentially expressed protein-coding genes
    
                grep ",\"protein_coding\"," ~/DATA/Data_Ute/Data_RNA-Seq_MKL-1+WaGa/results_2025_1/degenes/MKL-1_wt.EV_vs_parental-all.txt > MKL-1_wt.EV_vs_parental-all_protein_coding.txt
                grep ",\"protein_coding\"," ~/DATA/Data_Ute/Data_RNA-Seq_MKL-1+WaGa/results_2025_1/degenes/WaGa_wt.EV_vs_parental-all.txt > WaGa_wt.EV_vs_parental-all_protein_coding.txt
    
                cut -d',' -f1 MKL-1_wt.EV_vs_parental-all_protein_coding.txt | sort > all_genes.txt  #19239
                cut -d',' -f1 MKL-1_wt.EV_vs_parental-up_protein_coding.txt | sort > up_genes.txt  #5988
                cut -d',' -f1 MKL-1_wt.EV_vs_parental-down_protein_coding.txt | sort > down_genes.txt  #112
                cat up_genes.txt down_genes.txt | sort | uniq > regulated_genes.txt
                comm -23 all_genes.txt regulated_genes.txt > background_genes.txt
                grep -Ff background_genes.txt MKL-1_wt.EV_vs_parental-all_protein_coding.txt > MKL-1_wt.EV_vs_parental-background_protein_coding.txt  #13139
    
                cut -d',' -f1 WaGa_wt.EV_vs_parental-all_protein_coding.txt | sort > all_genes.txt  #19239
                cut -d',' -f1 WaGa_wt.EV_vs_parental-up_protein_coding.txt | sort > up_genes.txt  #6538
                cut -d',' -f1 WaGa_wt.EV_vs_parental-down_protein_coding.txt | sort > down_genes.txt  #93
                cat up_genes.txt down_genes.txt | sort | uniq > regulated_genes.txt
                comm -23 all_genes.txt regulated_genes.txt > background_genes.txt
                grep -Ff background_genes.txt WaGa_wt.EV_vs_parental-all_protein_coding.txt > WaGa_wt.EV_vs_parental-background_protein_coding.txt  #12608
    
                python extract_transcript_parts.py MKL-1_wt.EV_vs_parental-background_protein_coding.txt ~/REFs/gencode.v48.annotation.gtf ~/REFs/GRCh38.primary_assembly.genome.fa MKL-1_background
                python extract_transcript_parts.py WaGa_wt.EV_vs_parental-background_protein_coding.txt ~/REFs/gencode.v48.annotation.gtf ~/REFs/GRCh38.primary_assembly.genome.fa WaGa_background
    
                foreground.fasta: 你的目标(前景)序列,例如下调基因的 3′UTRs。
                background.fasta: 你的背景对照序列,例如未显著差异表达的基因的 3′UTRs。
    
        2. Run RBPmap separately on both sets (in total of 6 calculations)
    
            * Submit both sets of UTRs to RBPmap.
            * Use the same settings (e.g., “human genome”, “high stringency”, "Apply conservation filter" etc.)
            * Choose all RBPs
            * Download motif match outputs for both sets
    
        3. Count motif hits per RBP in each set
    
            You now have:
            For each RBP:
            a: number of target 3′ UTRs with a motif match
            b: number of background UTRs with a motif match
            c: total number of target UTRs
            d: total number of background UTRs
    
        4. Perform Fisher’s Exact Test per RBP
    
            For each RBP, construct a 2x2 table:
    
            Motif Present   Motif Absent
            Foreground (targets)    a   c - a
            Background  b   d - b
    
        5. Adjust p-values for multiple testing
        Use Benjamini-Hochberg (FDR) correction (e.g., in Python or R) across all RBPs tested.
    
        6.✅ Summary
    
            Step    Tool
            Prepare Database of RNA-binding motifs  ATtRACT
            3′ UTR extraction   extract_transcript_parts.py
            Motif scan  RBPmap or FIMO
            Count motif hits    Your own parser (Python or R)
            Fisher’s exact test scipy.stats or fisher.test()
            FDR correction  multipletests() or p.adjust()
    
        python rbp_enrichment.py rbpmap_downregulated.tsv rbpmap_background.tsv rbp_enrichment_results.csv
  4. Quick Drop-In Plan (RBPmap Alternative with FIMO for motif scan)

    1. [ATtRACT + FIMO (MEME suite)]
    
        ATtRACT: Database of RNA-binding motifs.
        FIMO: Fast and scriptable motif scanning tool.
    
        #Download RBP motifs (PWM) from ATtRACT DB; Convert to MEME format (if needed); Use FIMO to scan UTR sequences
    
        grep "Homo_sapiens" ATtRACT_db.txt > attract_human.txt
    
        #cut -f12 attract_human.txt | sort | uniq > valid_ids.txt
    
        python convert_attract_pwm_to_meme.py
    
        fimo --thresh 1e-4 --oc fimo_foreground_MKL-1_down attract_human.meme ../Data_RNA-Seq_MKL-1+WaGa/motif_analysis/MKL-1_down.3UTR.fasta
        fimo --thresh 1e-4 --oc fimo_foreground_MKL-1_up attract_human.meme ../Data_RNA-Seq_MKL-1+WaGa/motif_analysis/MKL-1_up.3UTR.fasta
        fimo --thresh 1e-4 --oc fimo_background_MKL-1_background attract_human.meme ../Data_RNA-Seq_MKL-1+WaGa/motif_analysis/MKL-1_background.3UTR.fasta
        fimo --thresh 1e-4 --oc fimo_foreground_WaGa_down attract_human.meme ../Data_RNA-Seq_MKL-1+WaGa/motif_analysis/WaGa_down.3UTR.fasta
        fimo --thresh 1e-4 --oc fimo_foreground_WaGa_up attract_human.meme ../Data_RNA-Seq_MKL-1+WaGa/motif_analysis/WaGa_up.3UTR.fasta
        fimo --thresh 1e-4 --oc fimo_background_WaGa_background attract_human.meme ../Data_RNA-Seq_MKL-1+WaGa/motif_analysis/WaGa_background.3UTR.fasta
        #end
    
        #TODO_TOMORROW: mv PBS_analysis RBP_analysis
    
        #Test
        python run_enrichment.py \
            --attract ATtRACT_db.txt \
            --fimo_fg fimo_foreground_WaGa_down/fimo.tsv \
            --fimo_bg fimo_foreground2/fimo.tsv \
            --output rbp_enrichment_test.csv
    
        python run_enrichment.py \
            --attract ATtRACT_db.txt \
            --fimo_fg fimo_foreground_MKL-1_up/fimo.tsv \
            --fimo_bg fimo_background_MKL-1_background/fimo.tsv \
            --output rbp_enrichment_MKL-1_up.csv
        python run_enrichment.py \
            --attract ATtRACT_db.txt \
            --fimo_fg fimo_foreground_MKL-1_down/fimo.tsv \
            --fimo_bg fimo_background_MKL-1_background/fimo.tsv \
            --output rbp_enrichment_MKL-1_down.csv
        python run_enrichment.py \
            --attract ATtRACT_db.txt \
            --fimo_fg fimo_foreground_WaGa_up/fimo.tsv \
            --fimo_bg fimo_background_WaGa_background/fimo.tsv \
            --output rbp_enrichment_WaGa_up.csv
        python run_enrichment.py \
            --attract ATtRACT_db.txt \
            --fimo_fg fimo_foreground_WaGa_down/fimo.tsv \
            --fimo_bg fimo_background_WaGa_background/fimo.tsv \
            --output rbp_enrichment_WaGa_down.csv
    
        #工具 功能  关注点 应用场景
        FIMO    精确查找 motif 出现位置 motif 在什么位置出现   找出具体结合位点
        AME 统计 motif 富集情况   哪些 motif 在某组序列中更富集  比较 motif 是否显著出现更多
    
        如你还在做差异表达后的RBP富集分析,可以考虑先用 FIMO 扫描,再用你自己写的代码 + Fisher’s exact test 做类似 AME 的工作,或直接用 AME 做分析
    
        # Generate the attract_human.meme inkl. Gene_name!
        #python generate_named_meme.py pwm.txt attract_human.txt
        python generate_attract_human_meme.py pwm.txt ATtRACT_db.txt
    
        #ERROR during running ame --> DEBUG!
        #--control ../Data_RNA-Seq_MKL-1+WaGa/motif_analysis/WaGa_all.3UTR.fasta \
        ame --control --shuffle-- \
        --oc ame_out \
        --scoring avg \
        --method fisher --verbose 5 ../Data_RNA-Seq_MKL-1+WaGa/motif_analysis/WaGa_down.3UTR.fasta attract_human.meme
    
    2. GraphProt2 (ALTERNATIVE_TODO)
    
        ML-based tool using sequence + structure
    
        Pre-trained models for many RBPs
    
        ✅ Advantages:
    
        Local, GPU/CPU supported
    
        More biologically realistic (includes structure)
  5. miRNAs motif analysis using ATtRACT + FIMO

    ✅ Goal
    
        * Extract their sequences
        * Generate a background set
        * Run RBP enrichment (e.g., with RBPmap or FIMO)
        * Get p-adjusted enrichment stats (e.g., Fisher + BH)
    
        5.1 (Optional)
        Input_1. DE results (differential expression file from smallRNA-seq)
            Example file: smallRNA_upregulated.txt
            Format: 1st column = miRNA ID (e.g., hsa-miR-21-5p), optionally with other stats.
    
        Input_2. Reference FASTA (Reference sequences from miRBase or GENCODE)
            From miRBase:
            mature.fa.gz → contains mature miRNA sequences
            hairpin.fa.gz → for pre-miRNAs
    
            python extract_miRNA_fasta.py smallRNA_upregulated.txt mature.fa up_mature_miRNAs.fa
            python extract_miRNA_fasta.py smallRNA_downregulated.txt hairpin.fa down_precursor_miRNAs.fa
    
        5.2 (Advanced)
            Extract Sequences + Background Set
    
            Inputs:
                * up_miRNA.txt and down_miRNA.txt: DE results (first column = miRNA name, e.g., hsa-miR-21-5p)
                * mature.fa or hairpin.fa from miRBase
    
            Outputs:
                * mirna_up.fa
                * mirna_down.fa
                * mirna_background.fa
    
            python prepare_miRNA_sets.py up_miRNA.txt down_miRNA.txt mature.fa mirna
    
        🔬 What You Can Do Next
    
        Goal    Tool    Input
        * RBP motif enrichment in pre-miRNAs    RBPmap, FIMO, AME   up_precursor_miRNAs.fa
        * Motif comparison (up vs down miRNAs)  DREME, MEME, HOMER  Up/down mature miRNAs
        * Build background for enrichment   Random subset of other miRNAs   Filtered from hairpin.fa
    
        ✅ RBP Enrichment from RBPmap Results
        🔹 Use RBPmap output (typically CSV or TSV)
        🔹 Compare hit counts in input vs background
        🔹 Perform Fisher's exact test + Benjamini-Hochberg correction
        🔹 Plot significantly enriched RBPs
    
        📁 Requirements
        You’ll need:
    
        File    Description
        rbpmap_up.tsv   RBPmap result file for upregulated set
        rbpmap_background.tsv   RBPmap result file for background set
    
        📝 These should have columns like:
    
        Motif Name or Protein
    
        Sequence Name or Sequence ID
        (If different, I’ll show you how to adjust.
    
        python analyze_rbpmap_enrichment.py rbpmap_up.tsv rbpmap_background.tsv enriched_up.csv enriched_up_plot.png
    
        ✅ Output
        enriched_up.csv
        RBP FG_hits BG_hits pval    padj    enriched
        ELAVL1  24  2   0.0001  0.003   ✅
        HNRNPA1 15  10  0.04    0.06    ❌
    
        enriched_up_plot.png
        Barplot showing top significant RBPs (lowest FDR)
    
        🧰 Customization Options
        Would you like:
    
            * Support for multiple RBPmap files at once?
    
            * To match by RBP family?
    
            * A full report (PDF/HTML) of top hits?
    
            * Let me know, and I’ll tailor the next script!
  6. RBP enrichments via FIMO (The same to the workflow in 4)

    1. Collect the 3′ UTR sequences: Use the 3UTR.fasta file generated earlier, filtered to protein-coding and downregulated genes.
    
    2. Prepare Motif Database (MEME format)
    
        * ATtRACT: https://attract.cnic.es
        * RBPDB: http://rbpdb.ccbr.utoronto.ca
        * Ray2013 (CISBP-RNA motifs) — available via MEME Suite
        * [RBPmap motifs (if downloadable)]
        #Example format: rbp_motifs.meme
    
    2. Run FIMO to Scan for RBP Motifs (Similar to RBPmap)
    
        fimo --oc fimo_up rbp_motifs.meme mirna_up.fa
        fimo --oc fimo_down rbp_motifs.meme mirna_down.fa
        fimo --oc fimo_background rbp_motifs.meme mirna_background.fa
        #This produces fimo.tsv in each output folder.
    
    3. Run RBP motif enrichment using MEME Suite using AME (Analysis of Motif Enrichment):
    
        ame \
        --control control_3UTRs.fasta \
        --oc ame_out \
        --scoring avg \
        --method fisher \
        3UTR.fasta \
        rbp_motifs.meme
    
        Where:
    
        * 3UTR.fasta = your downregulated genes’ 3′ UTRs
        * control_3UTRs.fasta = background UTRs (e.g., random protein-coding genes not downregulated)
        * rbp_motifs.meme = motif file from RBPDB or Ray2013
    
    4. Interpret Results: Output includes RBP motifs enriched in your downregulated mRNAs' 3′ UTRs.
    
        You can then link enriched RBPs to known interactions with your upregulated miRNAs, or explore their regulatory roles.
    
    5. ✅ Bonus: Predict Which mRNAs Are Targets of Your miRNAs
    
        Use tools like: miRanda, TargetScan, miRDB
    
        Then intersect predicted targets with your downregulated genes to identify likely functional interactions.
    
    6. Summary
    
        Goal    Input   Tool / Approach
        RBP enrichment  3UTR.fasta of downregulated genes   AME with RBP motifs
        Background/control  3′ UTRs from non-differential or upregulated genes
        Link miRNA to targets   Use TargetScan / miRanda    Intersect with down genes
    
    7. Would you like:
    
        * Ready-to-use RBP motif .meme file?
        * Script to generate background sequences?
        * Visualization options for the enrichment results?
  7. Other options to get sequences of 3UTR, 5UTR, CDS and mRNA transcripts

    ✅ Option 2: Use Ensembl BioMart (web-based, no coding) --> Lasting too long!
    
        Go to Ensembl BioMart https://www.ensembl.org/biomart/martview/7b826bcbd0cec79021977f8dc12a8f61
    
        Select:
    
        Database: Ensembl Genes
        Dataset: Homo sapiens genes (GRCh38 or latest)
    
        Click on “Filters” → expand Region or Gene to limit your selection (optional).
        Click on “Attributes”:
        Under Sequences, check:
        Sequences
        3' UTR sequences
    
        Optionally add gene IDs, transcript IDs, etc.
    
        Click “Results” to view/download the FASTA of 3' UTRs.
    
    ✅ Option 3: Use GENCODE (precompiled annotations) and gffread
    
        Use a tool like gffread (from the Cufflinks or gffread package) to extract 3' UTRs:
    
            #gffread gencode.v44.annotation.gtf -g GRCh38.primary_assembly.genome.fa -w all_utrs.fa -U
            #gffread -w three_prime_utrs.fa -g GRCh38.fa -x cds.fa -y proteins.fa -U -F gencode.gtf
    
            grep -P "\tthree_prime_utr\t" gencode.v48.annotation.gtf > three_prime_utrs.gtf
            gtf2bed < three_prime_utrs.gtf > three_prime_utrs.bed
            bedtools getfasta -fi GRCh38.primary_assembly.genome.fa -bed three_prime_utrs.bed -name -s > three_prime_utrs.fa
    
            gffread gencode.v48.annotation.gtf -g GRCh38.primary_assembly.genome.fa -U -w all_with_utrs.fa
    
        Add -U flag to extract UTRs, and filter post hoc for only 3' UTRs if needed.
    
    ✅ Option 4: Use Bioconductor in R (UCSC-ID, not suitable!)
    
        # Install if not already installed
        if (!requireNamespace("BiocManager", quietly = TRUE))
            install.packages("BiocManager")
        BiocManager::install("GenomicFeatures")
        BiocManager::install("txdbmaker")
        #sudo apt-get update
        #sudo apt-get install libmariadb-dev
        #(optional)sudo apt-get install libmysqlclient-dev
        install.packages("RMariaDB")
    
        # Load library
        library(GenomicFeatures)
    
        # Create TxDb object for human genome
        txdb <- txdbmaker::makeTxDbFromUCSC(genome="hg38", tablename="refGene")
    
        # Extract 3' UTRs by transcript
        utr3 <- threeUTRsByTranscript(txdb, use.names=TRUE)
    
    # View or export as needed
    
    ✅ Option 5: Extract 3′ UTRs Using UCSC Table Browser (GUI method)
        🔗 Website:
        UCSC Table Browser
    
        🔹 Step-by-Step Instructions
        1. Set the basic parameters:
        Clade: Mammal
    
        Genome: Human
    
        Assembly: GRCh38/hg38
    
        Group: Genes and Gene Predictions
    
        Track: GENCODE v44 (or latest)
    
        Table: knownGene or wgEncodeGencodeBasicV44
    
        Choose knownGene for RefSeq-like models or wgEncodeGencodeBasicV44 for GENCODE
    
        2. Region:
        Select: genome (default)
    
        3. Output format:
        Select: sequence
    
        4. Click "get output"
        🔹 Sequence Retrieval Options:
        On the next page (after clicking "get output"), you’ll see sequence options.
    
        Configure as follows:
        ✅ Output format: FASTA
    
        ✅ Which part of the gene: Select only
        → UTRs → 3' UTR only
    
        ✅ Header options: choose if you want gene name,
  8. ⚡️ Bonus: Combine with miRNA-mRNA predictions

    Once you have RBPs enriched in downregulated mRNAs, you can intersect:
        * Which RBPs overlap miRNA binding regions (e.g., via CLIPdb or POSTAR)
        * Check if miRNAs and RBPs compete or co-bind
    This can lead to identifying miRNA-RBP regulatory modules.

Visualization and Export of miRNA Expression Profiles Using Manhattan Plots in R

This R script processes raw miRNA read count data to visualize expression profiles across different samples using Manhattan plots. The main steps include:

  • Normalization: Raw counts are converted to Reads Per Million (RPM) to account for sequencing depth differences across samples.

  • Transformation & Reshaping: The data is log-transformed and reshaped into long format for plotting.

  • Highlighting Key miRNAs:

    • Top 5 miRNAs with highest mean RPM across all samples are highlighted in Plot 1.
    • A manually selected set of biologically relevant miRNAs is highlighted in Plot 2.
  • Plotting: Two Manhattan plots are generated using ggplot2 and ggrepel, one for each set of highlighted miRNAs.

  • Export: The processed data, including RPM values, log-transformed values, and highlight flags, is saved to an Excel file (manhattan_data.xlsx) for further analysis.

    # Load required libraries
    library(ggplot2)
    library(dplyr)
    library(tidyr)
    library(ggrepel)
    library(openxlsx)
    
    # Load data
    d.raw <- read.delim2("d_raw.csv", sep = ",", header = TRUE, row.names = 1)
    
    # Step 1: Compute RPM
    d.raw_5 <- d.raw[, 1:5]
    total_counts <- colSums(d.raw_5)
    RPM <- sweep(d.raw_5, 2, total_counts, FUN = "/") * 1e6
    RPM$miRNA <- rownames(RPM)
    
    # Step 2: Long format
    df <- pivot_longer(RPM, cols = -miRNA, names_to = "sample", values_to = "RPM")
    
    # Step 3: Log transform
    df <- df %>%
    mutate(logRPM = log10(RPM + 1))
    
    # Step 4: miRNA position
    df <- df %>%
    arrange(miRNA) %>%
    group_by(sample) %>%
    mutate(Position = row_number())
    
    # Step 5: Define top miRNAs
    top_mirnas_mean <- df %>%
    group_by(miRNA) %>%
    summarise(mean_RPM = mean(RPM)) %>%
    arrange(desc(mean_RPM)) %>%
    slice_head(n = 5) %>%
    pull(miRNA)
    
    top_mirnas_selected <- c("hsa-miR-20a-5p", "hsa-miR-93-5p", "hsa-let-7g-5p",
                            "hsa-miR-30a-5p", "hsa-miR-423-5p", "hsa-let-7i-5p")
    
    # Step 6: Annotate highlights
    df <- df %>%
    mutate(
        highlight_meanRPM = miRNA %in% top_mirnas_mean,
        highlight_selected = miRNA %in% top_mirnas_selected
    )
    
    # Step 7: Export data to Excel
    write.xlsx(df, "manhattan_data.xlsx", asTable = TRUE)
    
    # Sample labels
    sample_labels <- c(
    "parental_cells_1" = "Parental cell 1",
    "parental_cells_2" = "Parental cell 2",
    "parental_cells_3" = "Parental cell 3",
    "untreated_1"      = "Untreated 1",
    "untreated_2"      = "Untreated 2"
    )
    
    # Step 8: Plot - Top by mean RPM
    df$color_mean <- ifelse(df$highlight_meanRPM, "red", "darkblue")
    
    png("manhattan_plot_top_miRNAs_based_on_mean_RPM.png", width = 1200, height = 1200)
    ggplot(df, aes(x = Position, y = logRPM, color = color_mean)) +
    scale_color_manual(values = c("red" = "red", "darkblue" = "darkblue")) +
    geom_jitter(width = 0.4) +
    geom_text_repel(
        data = df %>% filter(highlight_meanRPM),
        aes(label = miRNA),
        box.padding = 0.5,
        point.padding = 0.5,
        segment.color = 'gray50',
        size = 5,
        max.overlaps = 8,
        color = "black"
    ) +
    labs(x = "", y = "log10(Read Per Million) (RPM)") +
    facet_wrap(~sample, scales = "free_x", ncol = 5,
                labeller = labeller(sample = sample_labels)) +
    theme_minimal() +
    theme(
        axis.text.x = element_blank(),
        axis.ticks.x = element_blank(),
        legend.position = "none",
        text = element_text(size = 16),
        axis.title = element_text(size = 18),
        strip.text = element_text(size = 16, face = "bold"),
        panel.spacing = unit(1.5, "lines")
    )
    dev.off()
    
    # Step 9: Plot - Selected miRNAs
    df$color_selected <- ifelse(df$highlight_selected, "red", "darkblue")
    
    png("manhattan_plot_most_differentially_expressed_miRNAs.png", width = 1200, height = 1200)
    ggplot(df, aes(x = Position, y = logRPM, color = color_selected)) +
    scale_color_manual(values = c("red" = "red", "darkblue" = "darkblue")) +
    geom_jitter(width = 0.4) +
    geom_text_repel(
        data = df %>% filter(highlight_selected),
        aes(label = miRNA),
        box.padding = 0.5,
        point.padding = 0.5,
        segment.color = 'gray50',
        size = 5,
        max.overlaps = 8,
        color = "black"
    ) +
    labs(x = "", y = "log10(Read Per Million) (RPM)") +
    facet_wrap(~sample, scales = "free_x", ncol = 5,
                labeller = labeller(sample = sample_labels)) +
    theme_minimal() +
    theme(
        axis.text.x = element_blank(),
        axis.ticks.x = element_blank(),
        legend.position = "none",
        text = element_text(size = 16),
        axis.title = element_text(size = 18),
        strip.text = element_text(size = 16, face = "bold"),
        panel.spacing = unit(1.5, "lines")
    )
    dev.off()

Example Raw Data

    "","parental_cells_1","parental_cells_2","parental_cells_3","untreated_1","untreated_2","scr_control_1","scr_control_2","scr_control_3","DMSO_control_1","DMSO_control_2","DMSO_control_3","scr_DMSO_control_1","scr_DMSO_control_2","scr_DMSO_control_3","sT_knockdown_1","sT_knockdown_2","sT_knockdown_3"
    "hsa-miR-375",34533,3262377,1301496,100825,188119,153531,349072,21074,323775,336095,82391,194233,450228,51320,364245,772745,111276
    "hsa-miR-10b-5p",9041,7118756,2898458,89378,300984,171106,420457,30970,244186,358048,79946,202764,460488,64718,404386,432872,99274
    "hsa-let-7a-5p",117441,5512997,1790596,60180,90384,100759,131398,7423,208599,187416,33942,99479,172489,17403,214496,169542,41342
    "hsa-let-7b-5p",67432,814417,267664,69114,87227,44756,126032,6136,125020,121212,28550,52388,315105,13506,170644,216544,37364
    "hsa-miR-182-5p",6309,1361486,524716,42333,88821,63989,100756,2591,99036,104442,9956,74656,140172,6816,150818,151969,15236
    "hsa-miR-30a-5p",8721,948558,400525,14555,29211,27433,56620,418,67797,60160,2198,37562,112903,1134,89586,102199,2749
    "hsa-let-7f-5p",8950,1379796,501830,9482,18786,19152,25105,1097,35743,32119,4992,19641,29458,2611,37753,31201,5464
    "hsa-miR-191-5p",5319,187270,64891,17598,40244,9230,51212,2764,30164,48766,5275,20608,87755,9099,113397,85939,2608
    "hsa-miR-92a-3p",6202,466546,186103,9520,25668,20740,16677,1354,28347,33256,5931,21893,16776,3690,16799,20150,6742
    "hsa-miR-30d-5p",7668,480810,189297,8698,19449,11807,26133,332,24259,28667,1447,17094,44136,853,35161,37334,1542
    "hsa-miR-320a",4558,61397,19613,46980,78771,8831,237689,1470,24235,90901,2678,19811,222769,3872,76030,307737,2645
    "hsa-miR-486-5p",7236,116907,41502,6994,12458,11211,13947,1232,16559,19186,4688,12813,12954,1767,13088,17925,4386
    "hsa-miR-26a-5p",7787,556023,193310,4516,7921,8216,12146,730,15873,15392,2673,8557,18329,1703,25686,13053,3582
    "hsa-miR-378a-3p",2771,97674,38061,12733,60619,5156,157491,1151,14690,42554,2166,9806,108211,3328,58851,190501,1880
    "hsa-miR-423-5p",832,19336,6629,15116,40901,4269,38871,1090,12925,30694,1943,11965,63670,5767,32188,45385,2476
    "hsa-miR-93-5p",8360,336124,124845,3186,6539,5086,13468,121,11579,14276,618,5501,20073,361,19077,24599,644
    "hsa-miR-25-3p",2264,202212,84611,3218,8618,4036,20093,361,9774,14423,1514,5694,26041,1247,24033,46581,1924
    "hsa-let-7i-5p",6916,463608,184832,1876,3820,3259,6402,185,8490,8160,1032,4088,7530,470,8197,10634,1027
    "hsa-miR-181a-5p",4531,133716,47864,2879,6362,4313,8111,153,7554,8516,1077,4485,14439,533,13982,10684,1482
    "hsa-miR-30c-5p",1038,124393,49852,1592,4234,3036,4471,52,6945,7165,210,3745,7523,129,7161,4287,279
    "hsa-miR-148a-3p",448,439462,186294,1840,4740,3691,5857,525,6879,6337,1094,4959,6094,990,6399,6527,1590
    "hsa-miR-103a-3p",9950,316450,119774,1614,2530,3312,9204,190,5862,5666,653,4019,6595,390,7861,12440,940
    "hsa-let-7g-5p",8977,507218,178238,1663,2563,2572,6304,211,5486,5458,989,2676,7290,510,8191,8110,1301
    "hsa-miR-16-5p",3108,273138,96609,1621,3897,2418,6767,243,5200,6464,779,3178,7436,510,8496,6497,943
    "hsa-miR-769-5p",405,75785,29561,1168,3628,2156,5473,252,4465,5318,1059,3457,6846,633,6831,5787,1568
    "hsa-miR-146b-5p",354,80850,28700,2174,3161,1834,4325,100,3937,3779,288,3025,9058,363,10583,7922,362
    "hsa-miR-196a-5p",1361,113874,38288,1777,3074,1893,3981,104,3932,4291,506,2058,5900,316,6358,5839,594
    "hsa-miR-30e-5p",1070,147574,55848,936,1604,2255,2556,30,3822,3247,134,2572,3733,76,4280,3211,170
    "hsa-miR-200c-3p",7532,118630,38580,1465,3558,2559,5566,466,3807,6115,1632,3008,5706,1002,6467,5903,2384
    "hsa-miR-92b-3p",2340,78803,28318,1672,2249,3339,2488,187,3480,2980,830,2987,2072,293,2654,2559,823
    "hsa-miR-345-5p",439,27482,11486,1368,2869,1625,9583,47,3395,4737,258,2124,13198,139,6879,11281,248
    "hsa-miR-98-5p",1390,220110,74613,716,1168,1982,2470,99,3073,2615,471,1487,2115,237,2781,3424,390
    "hsa-let-7d-5p",1612,36438,11128,724,1148,1460,2190,44,2846,2642,250,1471,2238,162,2200,2146,354
    "hsa-miR-106b-3p",1000,18194,8302,1023,2106,1650,5202,34,2786,4840,142,1960,6501,89,6581,7052,209
    "hsa-miR-151a-3p",940,50844,20614,1123,2186,1317,3103,104,2748,3537,416,2348,6036,322,6857,5410,501
    "hsa-miR-423-3p",473,21186,8905,2029,3062,1262,11931,161,2669,3863,679,1955,9282,496,3890,13902,910
    "hsa-miR-9-5p",876,272251,119702,601,1293,1038,1670,63,2639,2000,353,1172,2409,172,3382,2448,454
    "hsa-miR-885-3p",373,3458,1123,3490,4454,613,3781,63,2490,4312,108,1918,12307,194,8321,6196,140
    "hsa-miR-200b-3p",2250,79100,30268,737,1969,2322,3554,52,2468,3343,198,3273,3457,193,3859,3264,320
    "hsa-miR-181b-5p",1089,31926,12240,1210,1488,1288,2379,64,2326,3140,323,1108,5134,208,4514,4266,274
    "hsa-miR-186-5p",677,21082,7797,776,2212,1591,5698,120,2016,3253,371,1785,6175,298,3723,6488,571
    "hsa-miR-181d-5p",929,76318,28372,756,1060,1000,4864,57,1942,2736,340,998,5815,232,3884,6836,466
    "hsa-miR-183-5p",847,54855,19776,824,1137,1242,2801,83,1881,2258,269,1418,2692,170,2367,3509,421
    "hsa-miR-26b-5p",2164,214186,74552,518,803,1090,2181,172,1797,1956,653,1031,2385,503,3527,3143,752
    "hsa-miR-320b",73,349,99,2395,6147,684,10886,5,1660,6171,20,1415,13452,21,5202,14559,21
    "hsa-miR-181c-5p",488,66293,25997,496,1407,986,3665,76,1607,1980,294,1221,5804,243,2968,4268,512
    "hsa-miR-30a-3p",23,18099,7876,946,1383,952,3233,79,1534,2332,308,1396,5988,401,7291,7917,506
    "hsa-miR-7-5p",526,50288,20079,490,541,708,1095,34,1277,1467,81,650,1322,41,1821,1619,90
    "hsa-miR-101-3p",63,35823,16223,480,1303,682,1503,58,1208,1491,147,1051,1581,81,2218,1883,204
    "hsa-miR-151a-5p|hsa-miR-151b",976,9344,3234,356,692,828,1176,15,1194,1228,50,868,1588,36,1490,978,66
    "hsa-miR-92a-1-5p",110,4993,1743,636,1140,1086,1407,27,1191,1667,90,1280,2098,92,1822,1648,245
    "hsa-miR-20a-5p",865,109223,38996,308,532,704,1469,17,1142,1172,83,900,1835,55,1824,1890,88
    "hsa-miR-190b",308,51627,19416,256,416,428,2568,102,1090,1453,488,423,2427,291,1787,4725,489
    "hsa-miR-1307-3p",111,8751,3680,368,722,442,1726,11,1059,1376,84,670,1579,21,944,2229,79
    "hsa-miR-24-3p",724,58135,21371,452,696,400,2739,58,1057,1011,303,601,2545,212,2017,4056,252
    "hsa-miR-1-3p",932,276107,128481,875,926,666,1334,145,1045,1201,457,861,1176,190,2555,1807,430
    "hsa-miR-532-5p",152,16899,7525,396,1174,622,2020,57,1043,1677,210,896,2132,204,2131,4051,227
    "hsa-miR-744-5p",980,8950,3197,479,668,628,1103,18,972,1242,108,559,1288,44,1090,1430,113
    "hsa-miR-130b-3p",258,7803,3037,688,1517,318,2330,13,957,1133,12,787,4032,16,3854,4966,33
    "hsa-miR-192-5p",60,11210,4454,269,474,639,1158,20,948,1128,82,802,1287,80,1689,1322,85
    "hsa-miR-3615",78,1503,642,268,344,238,1602,1,877,805,25,537,2549,14,612,2883,35
    "hsa-miR-1224-5p",74,1116,344,694,1264,135,1305,65,876,1723,136,882,3643,249,2182,1845,50
    "hsa-miR-17-5p",1102,65959,24350,194,665,533,1324,14,851,1306,82,842,1196,62,1767,1721,87
    "hsa-miR-130b-5p",291,11405,3876,274,529,451,476,20,832,595,93,618,655,35,1021,518,110
    "hsa-miR-301a-3p",61,43874,17611,161,310,337,928,28,826,777,198,428,879,98,991,855,198
    "hsa-miR-148a-5p",105,14869,6081,348,613,392,1150,19,794,693,124,488,1137,84,1044,1329,154
    "hsa-miR-107",1048,29568,12292,226,461,375,1154,22,785,890,62,454,1089,34,1197,1462,62
    "hsa-miR-200a-3p",649,45836,16810,184,684,833,1214,19,772,909,54,987,1136,26,1626,1217,72
    "hsa-miR-27b-3p",346,15959,6048,204,690,480,1106,9,751,1012,31,430,1544,10,1408,1354,46
    "hsa-miR-196b-5p",315,56050,20888,261,422,467,531,56,744,720,146,266,849,104,815,804,199
    "hsa-miR-885-5p",60,4387,1793,410,441,604,570,8,728,702,55,594,687,36,922,734,62
    "hsa-miR-19b-3p",44,46497,20811,304,1171,384,2380,40,727,1052,143,475,2640,72,2695,2681,182
    "hsa-miR-181a-2-3p",41,2966,1304,272,468,422,313,8,692,845,63,371,663,20,1126,613,67
    "hsa-miR-873-3p",102,5299,1957,767,1717,208,4009,77,686,1944,276,596,3868,255,2004,4425,236
    "hsa-miR-21-5p",124,54200,23746,278,290,448,848,13,682,864,73,567,886,25,1212,839,65
    "hsa-miR-421",51,4594,1689,185,138,192,347,16,586,314,60,312,507,56,398,595,50
    "hsa-miR-128-3p",147,3435,1325,209,609,212,927,10,515,668,39,394,680,17,728,1154,34
    "hsa-miR-425-5p",298,13138,4499,267,609,363,1650,27,492,972,108,397,1872,72,759,1884,147
    "hsa-miR-877-5p",114,1014,353,299,269,114,243,1,483,426,9,305,765,29,871,502,9
    "hsa-miR-625-3p",19,3201,1475,151,318,312,372,3,473,591,52,331,473,23,531,347,26
    "hsa-miR-1180-3p",331,3493,1265,283,343,238,815,5,418,478,94,325,810,53,536,1038,98
    "hsa-miR-30b-5p",89,28134,11724,298,419,534,544,19,401,935,87,368,1037,42,514,368,83
    "hsa-miR-30e-3p",15,11217,4550,178,270,328,702,23,396,422,76,273,743,52,671,839,116
    "hsa-miR-148b-3p",335,62635,29143,86,243,237,315,34,383,247,43,166,226,36,374,391,63
    "hsa-miR-941",590,10640,3991,141,270,231,354,29,350,381,30,172,364,42,402,238,41
    "hsa-miR-122-5p",0,0,0,625,126,250,190,6,346,225,9,581,190,2,1942,253,4
    "hsa-miR-95-3p",193,1087,394,90,370,401,571,1,345,555,13,338,576,0,641,467,18
    "hsa-miR-92b-5p",43,834,270,94,440,84,238,9,333,400,27,200,1109,54,704,327,21
    "hsa-miR-483-5p",0,445,147,117,1361,48,259,138,320,1598,328,70,1762,232,564,270,508
    "hsa-let-7c-5p",135,2637,1038,222,335,228,455,8,320,646,48,529,601,24,471,534,36
    "hsa-miR-197-3p",89,2006,834,97,159,154,158,11,318,168,52,184,225,22,131,128,22
    "hsa-miR-133a-3p",452,19488,7714,302,650,386,946,22,310,462,146,502,970,107,1026,864,156
    "hsa-miR-708-5p",293,22077,8483,103,162,209,394,5,300,279,51,162,466,15,584,403,44
    "hsa-miR-760",60,771,278,209,315,149,515,1,298,292,26,235,642,9,591,792,16
    "hsa-miR-141-3p",198,5911,2362,132,160,318,338,0,292,314,7,328,320,2,501,319,10
    "hsa-miR-22-3p",88,4854,1881,109,234,172,299,9,287,259,21,200,401,5,395,510,45
    "hsa-miR-181c-3p",32,12886,5202,53,209,107,411,4,275,228,39,145,376,24,504,497,51
    "hsa-miR-25-5p",209,907,353,207,247,306,235,3,263,417,20,328,571,14,546,444,29
    "hsa-miR-429",45,8117,3117,50,249,318,455,2,262,260,31,190,454,11,629,554,6
    "hsa-miR-340-5p",49,25006,10179,58,261,142,297,18,250,261,40,226,182,34,405,324,48
    "hsa-miR-200a-5p",31,2757,1043,87,113,179,279,10,248,150,30,259,634,26,1137,695,37
    "hsa-miR-454-3p",128,20684,7584,80,80,65,231,6,237,232,23,164,210,29,264,285,26
    "hsa-miR-425-3p",96,3316,1345,76,321,186,579,14,232,324,51,168,1043,45,478,707,39
    "hsa-miR-484",281,5775,2227,168,353,120,394,5,227,304,40,155,425,6,312,302,13
    "hsa-miR-1270",104,1035,434,189,226,183,433,13,224,541,39,173,999,23,1232,1187,36
    "hsa-miR-342-3p",117,6675,2169,170,245,150,555,22,220,401,57,204,694,31,356,453,28
    "hsa-miR-185-5p",94,1450,552,152,852,95,926,5,220,334,8,153,1063,8,1154,1312,9
    "hsa-let-7e-5p",173,3800,1440,90,110,89,184,7,214,228,80,157,202,38,346,308,77
    "hsa-miR-339-5p",65,1151,470,114,370,161,636,1,205,493,10,183,1428,13,833,547,30
    "hsa-miR-629-5p",26,1989,764,114,368,149,973,13,190,307,17,111,778,23,350,1726,36
    "hsa-miR-454-5p",8,2713,979,53,145,78,171,4,188,285,26,207,124,16,223,296,32
    "hsa-miR-7706",69,1304,490,114,214,156,322,0,186,212,18,47,238,18,238,603,27
    "hsa-let-7a-3p",6,4014,1498,33,270,121,279,3,179,180,31,171,431,15,485,312,10
    "hsa-miR-1226-5p",5,23,8,81,52,169,73,6,179,218,2,180,42,6,100,92,5
    "hsa-miR-3180|hsa-miR-3180-3p",7,308,87,267,659,9,680,6,171,1111,9,123,1816,36,483,629,2
    "hsa-miR-143-3p",0,14,6,83,238,127,189,1,170,242,3,179,248,3,404,394,6
    "hsa-miR-132-3p",14,4593,1814,95,345,137,252,19,168,291,65,119,194,41,333,274,98
    "hsa-miR-139-3p",33,951,297,396,1087,56,393,30,154,475,49,196,903,120,844,673,24
    "hsa-miR-3187-3p",24,348,119,74,103,18,311,0,152,128,4,96,198,4,58,598,3
    "hsa-miR-660-5p",42,14230,6086,78,241,165,367,11,151,241,34,192,483,24,474,576,36
    "hsa-miR-23b-3p",63,2574,1030,47,49,45,92,1,150,245,1,70,188,2,110,67,4
    "hsa-let-7d-3p",164,1466,508,80,222,191,248,2,148,237,22,182,254,21,122,167,8
    "hsa-miR-342-5p",35,1405,488,136,162,100,164,26,147,187,56,137,280,54,431,173,119
    "hsa-miR-339-3p",23,2262,798,66,208,109,429,1,139,143,8,149,606,9,542,765,5
    "hsa-miR-130a-3p",50,2277,947,75,94,52,251,0,139,116,1,119,272,3,269,442,6
    "hsa-miR-30c-2-3p",19,1421,668,25,92,27,164,0,129,112,20,71,185,6,309,206,28
    "hsa-miR-320c",17,25,12,214,390,41,1085,2,128,480,2,161,1304,7,477,1499,3
    "hsa-miR-18a-5p",52,6597,2513,0,0,6,94,0,124,63,5,31,31,5,43,61,2
    "hsa-miR-23a-3p",44,1148,473,47,114,65,156,3,122,134,3,50,148,5,218,144,6
    "hsa-miR-328-3p",67,1241,530,34,73,27,131,5,113,76,20,16,138,9,82,72,15
    "hsa-miR-409-3p",11,198,98,112,166,41,281,2,111,171,33,45,228,8,244,355,16
    "hsa-miR-34a-5p",100,10066,3383,65,69,26,960,19,109,351,71,132,845,50,589,1125,58
    "hsa-miR-589-5p",27,377,134,32,49,55,81,0,107,93,3,26,66,0,68,96,3
    "hsa-miR-361-5p",246,10554,3534,59,188,153,203,12,107,189,47,72,178,19,210,257,40
    "hsa-miR-1246",4,20,2,112,738,40,1106,1,106,518,1,92,995,1,413,967,3
    "hsa-miR-106b-5p",163,5590,1969,32,166,134,228,0,106,127,2,133,70,10,197,120,25
    "hsa-miR-3127-5p",12,62,22,78,117,18,257,8,101,183,10,60,379,28,350,806,16
    "hsa-miR-500a-3p",12,1217,470,66,84,32,94,6,100,73,24,60,202,17,78,178,22
    "hsa-miR-3131",2,49,31,27,187,21,143,4,97,163,0,58,169,1,162,199,2
    "hsa-miR-301b-3p",16,15397,5867,65,16,77,109,12,97,105,32,40,60,11,154,139,33
    "hsa-miR-15b-5p",609,6681,2409,83,47,45,159,1,95,104,13,89,144,13,109,58,31
    "hsa-miR-10a-5p",8,1492,607,46,94,88,144,2,94,182,6,138,116,4,118,115,14
    "hsa-miR-200b-5p",28,101,37,38,108,71,118,4,90,84,2,48,277,5,297,259,0
    "hsa-miR-361-3p",106,2463,1016,31,67,43,105,1,88,82,5,28,221,0,151,157,8
    "hsa-miR-625-5p",40,3917,1346,6,13,37,77,6,87,43,11,39,176,7,149,116,3
    "hsa-miR-887-3p",21,545,186,24,70,11,122,0,86,61,2,47,120,0,42,52,2
    "hsa-miR-708-3p",11,2405,977,32,115,87,129,1,86,104,4,69,141,3,121,160,9
    "hsa-miR-19a-3p",13,14791,6422,118,419,137,716,6,84,509,46,128,589,42,782,722,51
    "hsa-miR-330-3p",14,486,148,73,393,39,192,9,82,362,26,98,284,31,328,391,4
    "hsa-miR-671-5p",27,721,229,41,64,21,217,0,82,55,1,97,143,2,129,276,0
    "hsa-miR-324-5p",123,1886,782,16,122,30,287,6,81,81,12,137,590,13,284,290,41
    "hsa-miR-181a-3p",6,1199,510,51,23,183,28,2,80,92,7,34,135,2,134,53,13
    "hsa-miR-210-3p",68,30874,14090,18,74,33,290,28,77,189,109,43,460,64,224,348,178
    "hsa-miR-411-5p",0,1,3,25,55,8,19,0,75,7,1,6,15,0,53,116,0
    "hsa-miR-1468-5p",12,1112,404,48,59,25,171,17,74,195,27,134,274,35,161,417,36
    "hsa-let-7b-3p",15,1366,424,30,27,52,11,0,70,37,6,55,63,5,37,13,1
    "hsa-miR-324-3p",70,291,90,64,114,116,396,0,69,220,0,58,491,0,255,377,3
    "hsa-miR-340-3p",14,2099,728,0,37,56,40,1,68,47,1,90,9,6,25,19,7
    "hsa-miR-4677-3p",1,1395,547,0,35,18,23,5,68,88,14,69,21,0,38,48,7
    "hsa-miR-873-5p",8,1826,692,21,43,24,164,0,68,132,12,36,119,8,143,192,4
    "hsa-miR-652-3p",72,1113,369,14,27,0,49,0,67,59,4,16,90,2,54,62,17
    "hsa-miR-4286",20,2,0,19,79,18,75,0,66,148,0,65,199,0,201,77,0
    "hsa-miR-671-3p",19,273,115,20,46,13,146,3,66,143,6,21,155,3,140,128,5
    "hsa-miR-218-5p",68,11916,4970,30,58,41,116,3,65,121,15,70,179,3,178,137,12
    "hsa-miR-505-3p",45,687,339,10,67,1,131,0,65,24,2,71,111,3,52,156,1
    "hsa-miR-382-5p",5,245,73,57,177,18,310,1,64,125,9,12,330,20,230,1000,0
    "hsa-miR-6721-5p",15,139,52,4,0,19,0,0,62,46,1,18,18,0,30,18,0
    "hsa-miR-140-3p",36,1859,937,15,74,44,159,2,62,142,15,76,298,15,156,362,20
    "hsa-miR-5187-5p",6,44,8,7,94,1,52,1,61,92,9,78,190,12,94,92,15
    "hsa-miR-548av-5p|hsa-miR-548k",9,956,388,8,48,19,48,1,61,74,7,96,16,7,0,18,2
    "hsa-miR-1908-5p",45,125,58,26,25,36,55,0,60,34,0,46,66,0,23,106,0
    "hsa-miR-3940-5p",0,0,0,24,38,30,25,0,58,23,0,56,47,0,30,84,0
    "hsa-miR-335-3p",15,4166,1655,17,21,86,120,4,58,114,14,194,47,18,133,174,15
    "hsa-miR-15a-5p",79,3126,1105,18,67,50,142,0,58,93,8,46,131,0,170,113,2
    "hsa-miR-3605-3p",10,285,87,0,0,10,0,0,57,33,9,39,26,1,9,15,5
    "hsa-miR-18a-3p",20,396,170,60,106,23,230,0,56,130,11,85,288,12,151,189,16
    "hsa-miR-4788",17,274,106,13,23,20,54,5,52,26,4,24,57,0,138,80,4
    "hsa-miR-3200-3p",24,650,272,16,51,21,154,2,51,29,6,46,102,7,41,67,15
    "hsa-miR-219a-1-3p",9,316,105,198,223,13,557,0,51,232,10,51,691,30,240,1145,19
    "hsa-miR-330-5p",1,238,118,0,0,20,0,0,49,0,2,0,0,0,15,0,0
    "hsa-miR-940",30,127,45,11,16,37,100,0,49,123,0,0,171,0,107,92,0
    "hsa-miR-3174",7,174,56,16,43,1,0,2,49,68,3,34,45,1,69,14,1
    "hsa-miR-6730-5p",6,14,1,13,43,0,7,1,48,41,0,33,67,1,11,27,0
    "hsa-miR-151b",18,13,4,16,36,31,104,0,46,80,0,32,144,0,92,121,0
    "hsa-miR-504-3p",0,4,1,7,72,0,6,2,46,24,0,0,117,4,16,13,0
    "hsa-miR-129-5p",4,301,92,23,74,0,183,0,44,42,0,10,229,2,81,502,2
    "hsa-miR-769-3p",56,1608,582,21,25,0,111,0,44,56,2,51,126,0,23,83,3
    "hsa-miR-4326",1,167,69,0,0,12,34,0,42,15,3,19,48,0,20,2,1
    "hsa-miR-1276",9,135,44,0,0,0,0,0,42,17,0,0,49,0,14,0,0
    "hsa-miR-6847-5p",3,36,9,0,0,0,0,0,41,0,0,17,4,1,13,52,0
    "hsa-miR-3605-5p",4,366,109,102,178,19,134,18,40,215,20,16,383,26,280,115,18
    "hsa-miR-33b-3p",22,16,8,0,0,31,0,0,38,12,0,35,1,0,10,12,0
    "hsa-miR-335-5p",2,1518,535,33,56,46,145,10,38,25,5,65,55,14,136,91,10
    "hsa-miR-877-3p",14,269,91,14,28,13,11,1,37,9,1,12,72,0,0,20,4
    "hsa-miR-148b-5p",7,1317,512,3,7,0,22,1,36,14,5,16,64,5,50,0,8
    "hsa-miR-128-1-5p",32,385,158,14,2,2,12,0,36,49,6,11,59,2,67,40,8
    "hsa-miR-576-3p",2,391,138,28,0,12,88,2,36,0,9,49,98,0,28,107,1
    "hsa-miR-320d",5,2,1,65,177,11,289,0,35,131,1,41,382,0,170,389,0
    "hsa-miR-3928-3p",11,114,44,36,175,16,201,0,35,105,0,71,305,5,150,299,3
    "hsa-miR-6891-5p",0,0,1,1,0,4,6,0,35,5,0,21,10,0,10,12,0
    "hsa-miR-4476",1,11,1,5,0,14,7,0,35,9,0,0,8,0,13,0,0
    "hsa-miR-937-3p",9,105,61,17,19,56,22,2,34,74,12,23,44,6,4,87,18
    "hsa-miR-204-5p",0,155,59,5,27,0,0,6,33,33,0,0,15,0,58,16,1
    "hsa-miR-486-3p",14,342,101,21,16,1,75,0,33,56,10,6,70,0,90,73,0
    "hsa-miR-151a-5p",38,913,310,0,17,0,7,0,33,41,1,18,26,1,2,38,9
    "hsa-miR-659-5p",1,132,56,7,0,12,8,0,33,0,0,0,10,3,0,0,0
    "hsa-miR-144-5p",0,26,8,1,0,29,29,0,32,30,5,37,6,2,1,9,0
    "hsa-miR-501-3p",4,568,174,20,88,6,90,0,32,74,10,62,64,14,32,204,4
    "hsa-miR-197-5p",3,5,7,13,51,0,26,0,31,34,3,15,65,3,20,19,0
    "hsa-miR-1301-3p",66,587,208,11,53,23,100,0,31,55,7,15,51,1,32,21,16
    "hsa-miR-5010-5p",2,7,5,15,190,35,40,0,30,79,10,28,141,5,45,61,12
    "hsa-miR-193b-3p",20,776,302,40,64,12,67,1,30,96,13,34,263,2,31,130,18
    "hsa-miR-2682-5p",1,120,63,5,0,17,44,0,30,117,11,0,70,4,166,94,1
    "hsa-miR-191-3p",16,99,54,3,35,2,20,0,30,50,0,23,57,0,12,75,3
    "hsa-miR-577",3,2156,808,8,37,0,61,0,30,27,13,0,51,2,58,36,10
    "hsa-miR-126-5p",1,50,21,10,0,27,31,0,30,14,0,9,0,0,64,28,0
    "hsa-miR-1296-5p",65,740,299,9,33,34,103,6,30,77,11,18,129,15,69,34,10
    "hsa-miR-193b-5p",3,59,11,73,149,10,136,5,29,125,0,17,155,17,78,129,11
    "hsa-miR-93-3p",32,853,334,19,61,59,192,4,29,39,15,41,173,7,104,88,2
    "hsa-miR-149-3p",2,7,5,6,0,31,15,1,28,32,1,22,40,2,23,16,0
    "hsa-miR-16-2-3p",17,1180,441,20,73,26,71,1,28,68,5,36,95,4,96,50,17
    "hsa-miR-3074-5p",4,74,40,5,0,12,72,2,28,35,4,24,32,1,14,11,0
    "hsa-miR-4667-5p",0,14,2,12,52,13,53,2,27,38,0,40,105,12,25,34,0
    "hsa-miR-27a-3p",2,1136,434,8,10,36,70,1,26,30,0,11,26,0,46,16,1
    "hsa-miR-3158-3p",1,105,32,0,0,9,72,0,26,28,0,0,47,3,22,58,0
    "hsa-miR-331-3p",33,667,212,0,25,0,18,0,26,39,5,22,50,4,37,29,0
    "hsa-miR-149-5p",29,814,431,45,25,63,64,1,26,104,11,90,216,6,133,103,40
    "hsa-miR-451a",0,9,5,25,55,78,126,10,25,71,4,76,111,3,195,75,12
    "hsa-miR-7854-3p",1,5,4,31,7,0,6,0,25,12,0,9,29,6,17,12,0
    "hsa-miR-126-3p",6,620,318,10,47,35,1,0,25,0,0,21,22,3,77,28,0
    "hsa-miR-374b-5p",5,703,263,0,0,11,24,0,25,82,0,0,10,0,26,0,9
    "hsa-miR-6858-5p",0,0,0,16,0,9,11,0,24,0,0,0,39,0,59,0,2
    "hsa-miR-432-5p",0,1,2,25,23,50,78,6,24,103,4,48,115,5,202,85,16
    "hsa-miR-146a-5p",6,792,253,25,24,18,22,0,24,11,5,16,95,10,34,16,10
    "hsa-miR-502-3p",4,78,18,4,0,0,14,0,24,8,0,4,26,0,22,22,0
    "hsa-miR-221-3p",0,0,0,0,10,45,68,0,23,23,7,31,43,2,90,58,0
    "hsa-miR-3127-3p",0,4,2,0,0,0,0,0,23,0,0,0,19,0,18,13,0
    "hsa-miR-210-5p",2,1624,638,0,3,51,0,0,23,17,7,49,12,1,0,0,7
    "hsa-miR-4739",0,0,0,0,0,0,0,0,23,0,0,0,13,1,0,0,2
    "hsa-miR-1269a",0,24,17,0,0,0,0,0,23,12,0,0,36,1,16,0,0
    "hsa-miR-550a-3-5p|hsa-miR-550a-5p",6,267,96,0,9,0,32,0,22,14,2,12,22,0,38,23,0
    "hsa-miR-2277-5p",2,99,43,0,1,11,19,0,22,18,0,0,11,0,0,10,0
    "hsa-miR-3909",2,445,148,0,17,0,31,0,22,53,2,0,20,0,0,11,0
    "hsa-miR-3200-5p",1,38,11,0,21,0,24,0,22,0,0,0,15,0,11,21,0
    "hsa-miR-20b-5p",19,2713,900,0,20,0,19,0,22,0,1,22,1,0,1,20,0
    "hsa-miR-766-5p",5,11,4,15,196,13,129,5,21,116,6,54,157,0,93,159,0
    "hsa-miR-652-5p",1,41,34,0,0,0,0,0,21,0,0,0,0,0,0,0,0
    "hsa-miR-6514-5p",7,75,39,46,0,1,64,0,21,5,0,13,32,0,36,59,2
    "hsa-miR-33a-5p",1,13,13,0,2,10,31,0,21,0,0,4,0,0,49,6,0
    "hsa-miR-4743-5p",1,5,8,0,0,0,39,0,21,6,0,5,0,0,45,15,0
    "hsa-miR-4786-5p",1,34,13,4,0,7,0,0,21,26,0,0,0,4,0,16,0
    "hsa-miR-29b-1-5p",1,24,12,0,1,21,0,1,21,0,0,23,0,0,0,0,0
    "hsa-miR-1292-5p",2,27,6,0,53,0,85,0,20,24,5,14,57,2,10,95,0
    "hsa-miR-6793-5p",0,12,5,2,19,0,0,0,20,38,0,0,33,4,0,6,1
    "hsa-miR-27b-5p",13,1177,434,0,0,24,27,0,20,92,1,14,94,4,88,42,8
    "hsa-miR-6734-5p",0,5,1,0,0,0,0,0,19,0,0,0,7,0,19,0,0
    "hsa-miR-1538",1,27,18,0,0,0,18,0,19,7,0,0,32,0,7,37,0
    "hsa-miR-195-5p",18,1300,537,9,20,10,11,0,19,0,0,1,34,0,0,12,0
    "hsa-miR-4750-5p",3,38,14,26,11,0,28,1,19,54,0,12,49,8,27,115,0
    "hsa-miR-6894-5p",1,1,3,15,21,6,0,0,18,0,0,0,9,0,0,30,4
    "hsa-miR-504-5p",41,108,41,0,16,7,4,0,18,39,3,17,27,0,9,9,0
    "hsa-miR-382-3p",0,8,5,0,7,0,0,0,18,0,0,0,0,0,13,41,1
    "hsa-miR-4741",0,5,0,0,0,0,42,0,18,21,0,0,20,0,11,21,0
    "hsa-miR-363-3p",11,630,202,0,0,0,9,0,18,14,2,6,1,0,0,0,1
    "hsa-miR-6794-5p",1,9,4,55,59,20,53,1,18,77,0,17,147,3,88,57,0
    "hsa-miR-212-3p",22,269,136,8,25,7,11,0,17,47,0,0,15,2,0,59,1
    "hsa-miR-3188",12,93,30,27,0,0,47,2,17,0,3,14,13,5,0,48,0
    "hsa-miR-190a-5p",0,2441,792,0,0,2,25,0,17,0,2,0,11,0,17,42,2
    "hsa-miR-939-5p",1,71,15,11,0,0,7,0,17,0,0,0,13,0,0,11,0
    "hsa-miR-4746-5p",5,208,65,16,58,29,22,0,17,55,4,50,69,2,144,102,7
    "hsa-miR-3613-3p",1,119,35,12,42,19,16,2,16,28,1,26,0,1,10,0,5
    "hsa-miR-3682-3p",0,4,0,0,0,0,0,0,16,0,0,0,5,0,0,0,0
    "hsa-miR-505-5p",4,111,48,23,10,8,25,3,16,17,0,13,35,1,19,0,0
    "hsa-miR-3130-5p",0,10,3,0,0,0,0,0,16,0,0,0,18,0,15,0,0
    "hsa-miR-4738-3p",0,0,0,0,24,0,24,0,16,0,1,0,0,0,0,0,0
    "hsa-miR-4646-5p",0,10,0,0,24,0,16,1,16,7,1,0,42,1,11,9,3
    "hsa-miR-6867-5p",2,9,0,0,0,0,28,0,16,7,2,11,42,0,12,31,0
    "hsa-miR-7111-3p",1,5,6,10,0,0,18,0,15,0,0,0,14,0,0,0,0
    "hsa-miR-127-3p",0,36,12,13,19,6,20,0,15,8,14,36,5,3,57,24,5
    "hsa-miR-6726-5p",0,0,3,15,49,0,0,0,15,24,0,13,46,0,32,48,0
    "hsa-miR-1225-3p",0,1,0,0,0,0,0,0,15,0,0,0,0,0,0,0,0
    "hsa-miR-590-3p",0,463,234,0,0,21,10,0,15,13,2,10,0,0,0,9,1
    "hsa-miR-4660",2,8,1,0,0,0,0,0,15,0,0,0,0,0,0,0,0
    "hsa-miR-6738-3p",0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0
    "hsa-miR-1307-5p",19,354,185,14,54,23,66,0,14,71,0,59,86,2,175,68,4
    "hsa-miR-629-3p",0,12,11,0,0,0,10,0,14,0,0,4,11,0,0,3,0
    "hsa-miR-6862-5p",2,6,4,17,19,0,31,0,14,36,0,0,51,0,31,42,0
    "hsa-miR-412-5p",0,1,1,4,28,0,7,0,14,34,0,0,18,0,0,40,0
    "hsa-miR-1253",1,1,0,0,9,0,13,0,14,0,0,0,7,0,29,8,0
    "hsa-miR-98-3p",1,423,133,0,34,9,31,0,14,0,0,11,14,0,4,0,0
    "hsa-miR-33b-5p",14,0,0,10,15,22,35,0,14,42,0,25,21,0,21,27,0
    "hsa-miR-6877-5p",6,91,34,5,30,7,69,0,14,46,0,0,46,1,37,45,0
    "hsa-miR-664a-3p",0,89,27,20,0,0,0,0,14,14,0,0,7,0,0,0,0
    "hsa-miR-4707-3p",2,56,32,33,15,0,84,0,14,0,2,7,73,5,42,101,0
    "hsa-miR-206",69,81,28,280,125,56,142,2,14,135,4,115,649,4,371,329,7
    "hsa-miR-943",1,51,32,0,21,0,0,0,13,0,0,0,0,0,0,0,0
    "hsa-miR-3138",0,0,0,0,0,0,16,0,13,15,0,0,0,0,21,0,0
    "hsa-miR-26b-3p",3,210,77,12,0,0,0,8,13,7,0,23,18,0,45,0,1
    "hsa-miR-152-3p",10,854,328,8,51,0,24,3,13,33,5,17,67,0,0,88,9
    "hsa-miR-487b-3p",0,42,11,0,0,0,33,0,13,0,0,13,16,0,0,22,0
    "hsa-miR-99b-3p",0,3,0,0,0,0,0,0,13,6,2,0,0,0,0,0,0
    "hsa-miR-195-3p",10,477,159,0,106,0,14,0,13,19,3,0,18,0,19,21,0
    "hsa-miR-942-5p",4,133,32,17,0,11,10,0,13,0,1,0,49,0,0,5,0
    "hsa-miR-155-5p",8,128,33,41,23,49,13,0,13,144,36,0,78,1,78,61,18
    "hsa-miR-1908-3p",1,14,9,0,0,0,25,0,13,0,0,0,11,0,0,5,0
    "hsa-miR-3180-5p",0,4,1,0,0,0,0,0,13,0,0,0,0,0,0,0,0
    "hsa-miR-4763-3p",1,0,0,0,4,0,0,0,13,8,0,14,0,0,0,0,0
    "hsa-miR-4466",0,6,1,0,0,0,0,0,13,0,0,0,0,0,0,0,0
    "hsa-miR-4520-3p",0,22,14,30,19,13,59,5,12,17,9,15,134,7,127,94,4
    "hsa-miR-3918",0,7,1,12,0,0,11,0,12,28,2,0,10,0,32,24,0
    "hsa-miR-6812-5p",0,0,2,0,0,16,0,0,12,0,1,9,8,0,6,0,0
    "hsa-miR-501-5p",24,321,121,0,16,0,21,0,12,0,0,21,50,0,0,85,4
    "hsa-miR-6788-5p",0,9,1,5,8,0,0,2,12,19,0,0,3,0,9,7,0
    "hsa-let-7f-2-3p",0,334,104,8,13,0,10,0,12,26,4,39,33,3,55,19,0
    "hsa-miR-5002-5p",1,11,2,0,0,17,0,0,12,0,0,0,0,0,0,0,0
    "hsa-miR-4421",6,173,71,0,7,16,17,0,12,67,0,0,101,0,40,60,0
    "hsa-miR-3691-3p",0,9,3,0,0,0,0,0,12,20,2,0,0,0,0,12,0
    "hsa-miR-654-3p",4,44,22,14,13,13,33,0,11,21,0,4,32,0,31,27,1
    "hsa-miR-6785-5p",1,0,0,0,18,0,0,0,11,11,0,0,4,0,0,0,0
    "hsa-miR-96-5p",7,3263,1378,0,40,41,28,11,11,16,3,19,8,3,36,46,1
    "hsa-miR-616-3p",0,13,4,0,10,0,43,0,11,67,0,0,76,3,39,96,0
    "hsa-miR-503-5p",2,81,27,0,0,0,10,0,11,0,0,0,0,0,0,1,0
    "hsa-miR-500a-5p",6,242,80,0,0,0,0,0,11,0,0,0,0,0,9,0,0
    "hsa-miR-222-3p",0,0,0,0,19,15,14,0,11,0,1,0,21,0,0,0,2
    "hsa-miR-2116-3p",1,19,6,0,0,0,0,0,11,0,0,0,0,0,0,6,0
    "hsa-miR-1233-3p",0,3,1,0,0,0,0,0,11,0,0,0,0,0,0,0,0
    "hsa-miR-5188",0,0,2,0,0,0,0,0,11,0,0,0,0,0,0,0,0
    "hsa-miR-4423-5p",0,0,1,0,0,0,0,0,11,0,0,0,7,0,0,0,0
    "hsa-miR-6765-5p",0,0,0,0,0,0,0,0,11,0,0,0,17,0,0,0,0
    "hsa-miR-139-5p",31,549,271,10,110,15,35,1,11,2,4,2,30,3,0,45,8
    "hsa-miR-3663-3p",0,9,1,9,17,0,28,0,10,0,0,14,18,0,17,16,0
    "hsa-miR-1255b-5p",0,13,8,0,6,0,21,0,10,24,0,0,0,6,27,20,0
    "hsa-miR-1910-5p",3,3,1,8,0,0,31,0,10,14,0,0,10,0,0,59,0
    "hsa-miR-4647",2,8,0,0,18,0,29,0,10,29,0,27,77,0,64,57,6
    "hsa-miR-1343-3p",0,26,10,0,0,0,0,0,10,0,0,0,0,0,0,8,0
    "hsa-miR-106a-5p",14,1490,566,2,12,4,20,0,10,16,2,2,4,0,10,29,2
    "hsa-miR-378i",7,0,0,14,66,3,180,0,10,51,0,14,120,0,73,245,0
    "hsa-miR-3691-5p",0,83,32,26,0,0,0,0,9,10,1,0,5,0,3,17,0
    "hsa-miR-6855-5p",1,2,1,0,0,0,0,0,9,0,0,0,0,0,0,0,0
    "hsa-miR-3679-5p",6,33,14,4,28,0,15,0,9,8,0,0,54,1,48,81,0
    "hsa-miR-4748",1,4,1,31,0,1,30,2,9,9,0,0,35,0,24,14,0
    "hsa-miR-223-5p",0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0
    "hsa-miR-5581-3p",0,8,3,0,0,0,0,0,9,3,0,0,0,0,11,0,0
    "hsa-miR-4706",0,0,2,0,18,0,23,0,9,0,0,18,27,0,0,0,0
    "hsa-miR-2110",9,107,35,19,60,5,39,0,9,3,2,13,51,2,84,29,4
    "hsa-miR-1305",0,63,16,0,0,0,0,0,9,0,0,0,0,0,0,0,0
    "hsa-miR-1286",3,10,7,0,28,1,13,0,9,11,0,1,27,1,19,28,0
    "hsa-miR-4747-5p",0,0,2,0,18,0,3,0,9,19,0,3,28,0,14,5,6
    "hsa-miR-17-3p",10,289,119,0,0,0,0,0,9,0,0,19,27,1,15,25,0
    "hsa-miR-365a-5p",2,112,20,12,7,11,8,2,9,11,7,0,36,5,15,27,8
    "hsa-miR-133b",4,72,34,0,22,8,51,0,8,32,1,18,60,0,25,32,1
    "hsa-miR-150-5p",2,42,12,10,22,29,0,0,8,0,0,18,0,1,14,6,0
    "hsa-miR-889-3p",1,5,7,0,0,0,0,0,8,7,0,0,0,0,8,0,0
    "hsa-miR-30b-3p",29,535,167,43,0,12,25,0,8,0,0,0,39,0,48,8,20
    "hsa-miR-4707-5p",0,28,8,0,25,0,0,0,8,0,0,8,0,0,0,19,0
    "hsa-miR-6802-5p",1,7,1,0,0,0,0,0,8,0,0,0,0,0,6,6,0
    "hsa-miR-4648",0,9,0,0,0,9,7,0,8,0,0,0,10,0,0,16,0
    "hsa-miR-6747-5p",0,0,0,0,0,0,0,0,8,0,0,0,2,5,0,0,0
    "hsa-miR-676-3p",4,153,61,0,0,19,54,0,8,0,0,0,56,0,12,49,1
    "hsa-miR-5009-5p",0,11,0,0,13,0,0,0,8,3,0,18,11,1,0,34,0
    "hsa-miR-4749-5p",1,27,2,4,4,8,6,0,8,0,3,0,18,1,24,15,0
    "hsa-miR-1224-3p",9,95,87,18,0,41,0,0,8,0,5,22,5,0,0,8,0
    "hsa-miR-4689",1,14,0,0,45,0,0,0,8,19,0,0,30,1,21,8,2
    "hsa-miR-532-3p",32,357,124,10,24,21,48,0,8,9,3,50,109,0,84,94,3
    "hsa-miR-30c-1-3p",10,115,56,6,10,0,5,0,8,0,1,0,6,0,0,0,1
    "hsa-miR-6845-5p",0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,5,0
    "hsa-miR-6871-5p",0,14,5,0,0,5,23,0,7,11,0,0,21,6,11,31,0
    "hsa-miR-212-5p",7,237,86,0,0,0,0,0,7,9,0,0,0,0,0,0,0
    "hsa-miR-6859-5p",0,6,1,0,0,0,5,2,7,0,3,0,14,2,10,16,0
    "hsa-miR-185-3p",4,73,16,0,0,1,9,1,7,0,0,0,6,0,0,15,0
    "hsa-miR-6882-5p",0,44,24,0,16,0,6,0,7,13,0,0,8,0,0,22,0
    "hsa-miR-1250-5p",1,89,29,0,5,0,10,0,7,0,0,0,0,0,0,6,0
    "hsa-miR-6500-3p",2,31,17,0,0,0,0,0,7,0,0,0,0,2,16,4,0
    "hsa-miR-543",3,31,7,12,0,11,14,0,7,28,7,0,34,1,59,14,0
    "hsa-miR-6817-3p",2,1,1,10,23,0,7,0,6,0,0,5,13,0,0,0,0
    "hsa-miR-6803-3p",1,45,15,0,0,11,10,0,6,0,0,0,0,0,22,12,0
    "hsa-miR-4668-5p",0,7,1,0,0,0,0,0,6,0,0,0,0,0,0,0,0
    "hsa-miR-7111-5p",0,0,0,0,11,0,0,0,6,0,0,0,0,0,10,0,0
    "hsa-miR-6825-5p",0,3,1,5,7,0,0,0,6,52,0,0,13,2,25,8,0
    "hsa-miR-3944-3p",0,6,4,0,0,0,12,0,6,0,0,0,0,0,0,0,0
    "hsa-miR-15b-3p",6,538,204,0,1,9,10,0,6,0,1,0,20,0,6,23,3
    "hsa-miR-323a-3p",0,4,0,0,0,0,0,0,5,0,0,0,0,2,0,0,0
    "hsa-miR-26a-2-3p",0,114,47,4,0,0,0,0,5,0,0,0,0,0,13,0,0
    "hsa-miR-1275",9,13,1,0,9,0,19,0,5,17,0,0,12,0,20,7,0
    "hsa-miR-7977",1,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0
    "hsa-miR-1343-5p",0,1,2,2,0,0,0,0,5,19,0,0,4,0,0,26,0
    "hsa-miR-3159",0,55,20,0,0,0,16,2,5,14,0,0,0,0,0,16,0
    "hsa-miR-194-3p",1,32,12,0,0,0,0,0,5,0,0,0,0,0,0,15,0
    "hsa-mir-378c",1,18,14,49,18,20,77,0,5,13,0,18,40,1,175,755,0
    "hsa-miR-204-3p",0,0,0,15,0,0,12,0,4,18,0,10,0,0,0,12,0
    "hsa-miR-4467",1,12,5,0,0,0,0,0,4,0,0,0,0,0,0,0,0
    "hsa-miR-3115",4,16,4,0,0,1,33,0,4,13,0,0,15,0,0,23,0
    "hsa-miR-6128",0,0,0,3,21,2,50,0,4,13,0,4,39,0,23,66,0
    "hsa-miR-378d",1,17,8,5,15,1,58,1,4,14,0,5,46,0,17,75,0
    "hsa-miR-6747-3p",2,35,12,0,0,0,0,0,3,0,0,0,0,0,0,0,0
    "hsa-miR-664a-5p",2,2,3,0,0,0,1,0,3,0,0,0,5,0,24,2,0
    "hsa-miR-99a-5p",0,1,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0
    "hsa-miR-320e",3,6,4,7,5,0,20,0,3,13,0,0,22,2,15,33,0
    "hsa-miR-1290",0,1,1,4,35,2,10,0,3,9,0,4,14,0,5,9,0
    "hsa-miR-4687-3p",1,14,6,1,0,0,7,0,3,0,0,0,16,0,24,0,0
    "hsa-miR-6838-5p",0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0
    "hsa-miR-6807-5p",0,10,0,0,0,0,45,0,2,0,0,0,0,0,19,0,0
    "hsa-miR-6511a-5p|hsa-miR-6511b-5p",4,88,57,5,15,0,15,1,2,32,0,18,22,3,11,8,0
    "hsa-miR-3064-5p",2,25,10,0,0,0,4,0,2,0,0,0,0,0,0,0,0
    "hsa-miR-374a-3p",2,2288,964,0,13,60,8,2,2,0,1,30,18,2,31,6,3
    "hsa-miR-378g",2,18,6,6,16,0,85,1,2,2,1,0,62,4,23,80,0
    "hsa-miR-4429",0,0,0,1,4,0,5,0,2,1,0,2,7,0,7,19,0
    "hsa-miR-144-3p",0,0,0,0,0,0,21,0,2,12,0,17,0,0,0,0,0
    "hsa-let-7c",1,15,10,0,0,0,0,0,2,1,0,0,0,0,0,5,0
    "hsa-miR-7974",14,878,330,0,0,0,0,0,1,0,0,0,0,0,0,0,0
    "hsa-miR-1271-5p",0,36,16,0,0,0,0,0,1,0,0,0,1,0,0,0,0
    "hsa-miR-654-5p",5,65,24,0,8,9,0,0,1,0,6,0,6,0,0,23,0
    "hsa-miR-2467-5p",0,318,125,3,18,18,10,0,1,28,0,3,31,3,15,1,0
    "hsa-miR-1244",0,1,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0
    "hsa-miR-373-5p",0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0
    "hsa-miR-550a-3p",8,141,61,0,14,0,0,0,1,0,0,0,25,0,18,18,0
    "hsa-miR-6511a-5p",0,10,3,18,0,11,0,0,1,0,0,0,0,0,0,11,0
    "hsa-miR-378e",1,11,12,2,13,0,20,0,1,4,0,0,24,0,21,52,0
    "hsa-miR-378h",1,2,1,5,9,0,28,0,1,11,1,3,20,0,13,33,0
    "hsa-miR-374c-5p",0,4,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0
    "hsa-miR-4318",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-548i",0,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4520-2-3p",0,4,1,0,0,0,0,0,0,0,0,0,6,0,31,4,0
    "hsa-miR-215-5p",2,13,6,0,0,3,2,0,0,4,0,2,2,0,10,2,0
    "hsa-mir-196a-2",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-550a-3-5p",1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0
    "hsa-miR-548av-5p",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-mir-107",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-mir-28",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-373-3p",0,2,2,22,35,0,346,0,0,136,1,0,164,0,0,934,2
    "hsa-miR-371a-5p",0,2,0,8,15,0,28,0,0,136,0,0,9,0,17,88,3
    "hsa-miR-4661-5p",0,31,10,0,0,15,0,0,0,61,0,0,18,0,0,30,0
    "hsa-miR-765",0,6,10,0,0,17,0,0,0,53,0,0,24,0,0,8,0
    "hsa-miR-6777-5p",3,11,11,68,69,11,47,12,0,47,4,1,66,7,60,42,0
    "hsa-miR-29a-3p",12,902,352,0,0,0,25,5,0,45,16,0,24,3,0,21,0
    "hsa-miR-27a-5p",0,496,187,0,0,14,0,0,0,45,1,0,0,1,17,26,1
    "hsa-miR-4664-3p",4,48,26,0,9,0,29,0,0,40,3,0,8,2,0,54,0
    "hsa-miR-6767-5p",2,42,2,24,0,0,54,7,0,37,2,0,65,8,76,76,10
    "hsa-miR-125b-2-3p",1,384,152,0,35,18,1,0,0,36,3,13,29,0,16,45,7
    "hsa-miR-378a-5p",7,254,65,0,0,6,7,0,0,36,0,0,1,0,19,9,1
    "hsa-miR-744-3p",1,47,26,0,45,0,24,0,0,35,0,18,33,4,8,15,2
    "hsa-miR-6780a-5p",0,16,5,3,14,0,11,1,0,33,1,0,44,6,0,15,14
    "hsa-miR-10b-3p",10,101,32,22,19,20,86,0,0,30,0,0,15,0,10,52,0
    "hsa-miR-4511",0,23,7,0,0,0,0,0,0,30,0,0,26,0,0,7,0
    "hsa-miR-1306-5p",15,89,22,14,46,8,7,0,0,28,0,23,32,2,38,11,8
    "hsa-miR-6511a-3p",5,155,39,18,0,0,2,0,0,27,3,0,4,0,0,0,1
    "hsa-miR-365b-5p",0,4,8,7,16,0,0,0,0,27,3,0,16,0,13,11,5
    "hsa-miR-6884-5p",0,3,2,0,0,0,0,0,0,26,0,17,11,0,0,0,0
    "hsa-miR-1287-5p",6,133,48,19,14,0,55,0,0,26,1,16,60,0,24,46,1
    "hsa-miR-6805-5p",0,3,6,0,9,8,0,0,0,24,0,0,0,0,0,0,4
    "hsa-miR-28-3p",3,97,52,22,20,13,47,1,0,23,15,28,79,12,31,58,17
    "hsa-miR-548b-5p",6,158,63,0,0,0,9,0,0,23,0,15,35,0,0,7,0
    "hsa-miR-548l",1,77,26,0,8,15,0,0,0,22,2,19,0,0,7,18,0
    "hsa-miR-125b-5p",3,125,51,20,0,0,0,0,0,21,2,0,5,0,0,2,0
    "hsa-miR-6751-5p",1,1,1,3,0,0,0,0,0,20,1,0,10,0,0,0,0
    "hsa-miR-3934-5p",3,149,66,4,0,13,7,6,0,20,6,18,27,9,38,38,0
    "hsa-miR-548av-3p|hsa-miR-548o-3p",3,137,47,0,0,26,17,0,0,19,0,0,4,2,0,0,0
    "hsa-miR-493-5p",0,6,3,0,41,0,3,0,0,19,0,0,25,4,64,34,0
    "hsa-miR-548u",0,20,8,0,0,0,0,0,0,19,0,0,0,0,0,0,0
    "hsa-miR-3929",0,42,10,0,7,0,3,0,0,18,0,0,16,0,0,19,0
    "hsa-miR-3133",0,6,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0
    "hsa-miR-548e-3p",0,30,12,0,0,0,0,0,0,18,0,0,0,0,0,0,0
    "hsa-miR-548b-3p",0,46,12,0,0,0,0,0,0,18,0,0,0,0,5,11,0
    "hsa-miR-4665-5p",1,3,2,0,11,0,0,0,0,17,1,0,9,1,0,13,0
    "hsa-miR-194-5p",4,702,285,7,0,0,0,0,0,17,1,23,0,0,0,11,2
    "hsa-miR-1273d",0,8,5,0,0,0,0,0,0,17,0,0,5,0,0,0,0
    "hsa-miR-372-3p",0,0,1,0,0,0,0,0,0,17,0,0,0,0,0,20,0
    "hsa-miR-199a-3p|hsa-miR-199b-3p",2,72,31,8,0,21,26,0,0,17,0,15,8,0,47,32,0
    "hsa-miR-641",5,417,159,0,20,40,17,0,0,17,0,0,44,0,60,16,10
    "hsa-miR-628-3p",1,44,20,0,17,0,0,0,0,17,0,0,0,0,0,0,0
    "hsa-let-7f-1-3p",1,60,28,0,3,0,0,0,0,16,0,9,0,0,18,0,0
    "hsa-miR-323b-3p",0,0,1,0,13,0,0,0,0,16,0,6,14,0,0,25,0
    "hsa-miR-3173-3p",1,8,1,0,0,3,0,0,0,16,0,0,0,0,30,0,1
    "hsa-miR-6832-5p",1,31,7,14,0,0,0,0,0,15,2,0,16,1,59,15,3
    "hsa-miR-3938",2,95,19,0,0,0,10,0,0,15,12,0,31,0,11,9,9
    "hsa-miR-3198",0,3,8,0,0,0,35,0,0,15,5,10,28,0,38,0,0
    "hsa-miR-6778-5p",0,0,0,0,0,0,0,0,0,15,0,0,3,0,0,0,0
    "hsa-miR-3065-5p",16,943,345,9,0,66,26,0,0,15,6,36,72,1,91,48,6
    "hsa-miR-3911",2,27,14,0,0,0,18,0,0,15,0,0,18,0,6,0,0
    "hsa-miR-3620-3p",0,6,5,0,0,0,0,0,0,15,0,0,0,0,0,0,0
    "hsa-miR-6799-5p",0,0,0,5,0,0,0,0,0,14,0,0,0,0,0,0,0
    "hsa-miR-6765-3p",2,11,2,0,0,8,0,0,0,14,0,0,6,0,0,0,0
    "hsa-miR-5189-5p",0,0,0,0,0,0,0,0,0,14,2,0,19,2,12,0,0
    "hsa-miR-449a",0,122,49,0,0,0,4,0,0,14,0,13,0,0,0,0,0
    "hsa-miR-346",2,60,19,0,0,0,0,0,0,14,0,0,32,0,22,3,2
    "hsa-miR-5088-5p",0,6,0,0,0,0,16,0,0,14,3,0,37,0,0,0,0
    "hsa-miR-1277-5p",0,234,109,0,0,0,0,0,0,13,0,0,10,0,0,0,0
    "hsa-miR-642a-5p",4,107,47,0,0,0,0,0,0,13,2,0,12,0,0,14,0
    "hsa-miR-5001-5p",1,12,4,0,50,0,67,0,0,13,5,0,21,1,24,68,0
    "hsa-miR-184",0,6,2,6,32,5,19,1,0,13,0,0,11,1,1,23,8
    "hsa-miR-6801-5p",0,5,2,0,0,0,3,0,0,13,0,0,0,0,19,0,0
    "hsa-miR-5683",0,40,14,0,0,0,0,0,0,13,0,0,0,0,0,0,0
    "hsa-miR-6800-5p",0,0,2,11,0,28,27,0,0,12,0,17,8,0,0,0,0
    "hsa-miR-152-5p",0,23,3,0,0,0,9,0,0,12,0,0,0,0,0,0,0
    "hsa-miR-4783-3p",0,12,10,0,0,0,0,0,0,12,0,0,0,0,0,11,1
    "hsa-miR-6780b-5p",0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0
    "hsa-miR-6511b-3p",11,202,61,13,11,0,5,0,0,12,2,14,31,0,17,36,10
    "hsa-miR-485-3p",4,7,13,0,0,0,14,0,0,12,2,0,0,4,0,0,0
    "hsa-miR-4658",0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0
    "hsa-miR-5699-3p",0,2,1,0,0,0,12,0,0,11,0,0,0,0,0,0,0
    "hsa-miR-6764-5p",6,54,22,0,0,0,35,0,0,11,0,0,14,0,0,40,0
    "hsa-miR-5697",0,3,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0
    "hsa-miR-365a-3p|hsa-miR-365b-3p",0,542,170,8,0,0,9,0,0,11,1,4,1,0,13,0,0
    "hsa-miR-6755-5p",0,9,7,0,0,0,4,0,0,11,0,0,11,0,0,0,0
    "hsa-miR-3124-5p",4,15,5,0,21,7,6,0,0,11,0,0,20,2,27,26,0
    "hsa-miR-2276-3p",0,1,3,0,0,0,0,0,0,10,0,0,8,0,13,14,0
    "hsa-miR-6790-5p",0,0,1,0,0,0,0,0,0,10,0,13,15,0,0,12,0
    "hsa-miR-615-3p",23,446,190,0,5,0,32,0,0,10,0,38,53,1,0,45,0
    "hsa-miR-183-3p",12,374,85,0,0,9,0,0,0,10,2,12,0,0,16,0,0
    "hsa-miR-551b-3p",9,241,88,8,0,8,10,0,0,10,0,0,0,0,0,11,1
    "hsa-miR-301a-5p",1,398,153,0,1,0,0,0,0,10,0,0,0,0,16,7,0
    "hsa-miR-6727-5p",0,1,2,0,8,0,0,0,0,10,0,0,2,0,37,6,0
    "hsa-miR-141-5p",4,905,355,1,0,0,10,0,0,10,6,20,0,0,0,0,2
    "hsa-miR-1306-3p",19,141,42,0,0,14,52,0,0,9,0,0,53,0,52,37,7
    "hsa-miR-656-3p",0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0
    "hsa-miR-1226-3p",7,98,45,6,0,0,4,0,0,9,0,0,0,2,0,3,0
    "hsa-miR-2278",0,1,1,0,0,0,0,0,0,9,0,0,0,0,0,0,0
    "hsa-miR-1237-3p",8,16,3,7,0,0,6,0,0,9,0,0,9,0,6,13,0
    "hsa-miR-636",1,12,2,0,8,0,0,0,0,8,0,0,0,0,0,0,0
    "hsa-miR-1225-5p",0,0,0,0,0,0,0,0,0,8,0,0,5,0,4,2,0
    "hsa-miR-6763-5p",0,0,0,1,4,0,0,0,0,8,0,0,6,0,28,17,0
    "hsa-miR-6738-5p",0,0,0,0,0,0,0,0,0,8,0,0,5,0,0,0,0
    "hsa-miR-6819-5p",0,0,2,0,0,0,0,0,0,7,0,0,0,0,0,0,0
    "hsa-miR-203a-3p",0,122,46,0,0,0,0,0,0,7,0,0,7,0,2,15,0
    "hsa-miR-5698",0,11,1,0,0,1,7,0,0,7,3,0,9,0,0,7,0
    "hsa-miR-3173-5p",2,12,8,0,0,3,11,0,0,7,2,0,7,0,0,9,0
    "hsa-miR-6777-3p",9,23,5,0,6,0,6,0,0,7,0,0,0,0,0,14,0
    "hsa-miR-378f",0,16,6,2,7,1,23,0,0,6,0,1,8,1,7,16,0
    "hsa-miR-6834-5p",0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0
    "hsa-miR-8072",0,2,1,1,0,12,0,0,0,6,0,11,0,0,0,14,0
    "hsa-miR-4745-5p",2,1,1,0,0,7,0,0,0,5,0,0,4,0,0,0,0
    "hsa-miR-6887-3p",0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0
    "hsa-miR-5089-5p",0,7,1,0,0,0,0,0,0,4,0,0,0,0,0,0,0
    "hsa-mir-320b-1",0,0,0,0,3,0,10,0,0,3,0,0,10,0,4,5,0
    "hsa-mir-320a",0,0,0,0,3,0,9,0,0,3,0,0,10,0,8,4,0
    "hsa-miR-33a-3p",1,6,5,0,0,0,0,0,0,3,0,0,0,0,0,0,0
    "hsa-miR-876-3p",4,60,28,0,16,0,0,0,0,3,0,0,13,0,3,1,0
    "hsa-miR-378b",0,1,0,2,2,0,10,0,0,3,0,1,4,0,2,15,0
    "hsa-miR-3180-3p",0,0,0,0,0,0,1,0,0,3,0,0,2,0,0,9,0
    "hsa-miR-6842-3p",2,22,19,0,0,0,0,0,0,3,0,0,0,0,0,0,0
    "hsa-miR-6741-3p",0,42,9,0,0,0,0,0,0,3,8,0,0,0,0,5,1
    "hsa-mir-320b-2",0,0,0,1,3,0,26,0,0,3,0,0,19,0,8,2,0
    "hsa-miR-6849-5p",0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0
    "hsa-miR-6740-5p",0,5,0,17,17,1,17,0,0,2,0,0,30,2,0,30,0
    "hsa-miR-378c",0,20,8,0,2,2,19,0,0,2,0,0,2,0,0,31,0
    "hsa-miR-30d-3p",3,657,238,0,15,0,18,0,0,2,0,0,10,2,1,21,0
    "hsa-let-7g-3p",0,53,30,0,0,0,0,0,0,1,0,18,12,0,0,0,0
    "hsa-let-7a-3",0,3,1,0,0,0,0,0,0,0,0,0,3,0,0,0,0
    "hsa-miR-374a-5p",3,864,413,0,0,0,0,0,0,0,0,0,5,0,0,12,0
    "hsa-mir-320e",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-mir-320c-2",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-483-3p",0,250,108,0,0,19,8,1,0,0,8,0,0,0,9,0,0
    "hsa-miR-3162-5p",0,0,0,0,0,0,0,0,0,0,6,0,23,0,0,10,0
    "hsa-miR-598-3p",1,90,39,0,50,0,42,2,0,0,5,13,0,0,0,60,0
    "hsa-miR-6511b-5p",0,27,6,6,0,6,26,1,0,0,5,11,0,0,8,0,0
    "hsa-miR-6794-3p",0,9,0,0,0,0,0,0,0,0,4,0,3,0,0,29,0
    "hsa-miR-4449",1,5,3,0,11,12,0,0,0,0,3,0,44,1,23,11,2
    "hsa-miR-1289",0,73,19,10,0,14,13,0,0,0,3,0,16,0,8,0,0
    "hsa-miR-4525",0,16,0,0,0,0,0,3,0,0,3,0,13,8,0,0,0
    "hsa-miR-6515-3p",0,6,2,0,0,0,0,0,0,0,3,12,0,0,0,0,0
    "hsa-miR-134-5p",6,150,36,10,15,1,36,1,0,0,3,23,48,0,20,33,0
    "hsa-miR-6812-3p",5,10,5,0,0,13,0,0,0,0,3,0,0,0,0,0,0
    "hsa-miR-3913-5p",0,46,21,0,0,0,0,0,0,0,3,0,6,0,0,0,0
    "hsa-miR-219a-5p",0,106,21,0,10,0,0,0,0,0,2,0,0,0,20,12,2
    "hsa-miR-3065-3p",6,475,158,0,0,0,18,0,0,0,2,0,0,2,0,31,3
    "hsa-miR-1229-3p",0,21,6,0,0,0,0,0,0,0,2,0,11,0,0,11,0
    "hsa-miR-34c-3p",0,0,0,0,0,0,0,0,0,0,2,0,17,0,0,11,0
    "hsa-miR-548ap-5p|hsa-miR-548j-5p",0,37,10,0,13,0,0,0,0,0,2,0,0,0,0,0,0
    "hsa-miR-5699-5p",1,19,4,11,0,0,0,0,0,0,2,0,0,0,28,27,0
    "hsa-miR-6788-3p",1,36,13,0,0,0,0,0,0,0,2,0,0,0,0,0,0
    "hsa-miR-8061",0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,25,0
    "hsa-miR-3187-5p",0,12,4,0,0,0,0,0,0,0,2,0,0,0,0,5,0
    "hsa-miR-628-5p",2,199,64,0,0,0,0,0,0,0,2,0,0,1,10,12,4
    "hsa-miR-132-5p",7,304,90,0,27,2,10,0,0,0,2,12,0,0,0,0,0
    "hsa-miR-6873-3p",0,7,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0
    "hsa-miR-200c-5p",0,67,29,0,0,0,14,0,0,0,1,0,0,0,0,0,0
    "hsa-miR-766-3p",2,203,48,0,0,19,33,0,0,0,1,19,20,0,0,13,0
    "hsa-miR-1976",0,39,18,0,21,0,0,0,0,0,1,0,0,0,0,11,0
    "hsa-miR-6807-3p",3,16,4,0,0,0,0,0,0,0,1,0,0,0,0,15,0
    "hsa-miR-485-5p",0,10,4,0,16,0,0,0,0,0,1,0,0,0,0,14,4
    "hsa-miR-548k",0,12,5,0,1,0,0,0,0,0,1,0,0,0,0,0,0
    "hsa-miR-874-3p",0,14,4,0,0,0,5,0,0,0,1,0,0,0,0,10,0
    "hsa-miR-4745-3p",2,7,3,0,0,0,0,0,0,0,1,0,0,0,0,0,0
    "hsa-miR-7705",0,33,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0
    "hsa-miR-4793-3p",1,37,35,0,16,0,0,0,0,0,1,0,0,2,0,11,0
    "hsa-miR-576-5p",2,130,52,0,15,0,0,0,0,0,1,0,9,0,16,0,0
    "hsa-miR-6728-5p",0,13,8,20,0,0,0,0,0,0,1,0,0,0,0,11,0
    "hsa-miR-362-5p",33,2841,566,16,4,17,0,2,0,0,1,0,41,1,0,26,0
    "hsa-miR-9-3p",2,366,154,0,10,0,0,0,0,0,1,0,8,3,24,26,0
    "hsa-miR-548ad-5p|hsa-miR-548ae-5p|hsa-miR-548ay-5p",2,16,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0
    "hsa-miR-551b-5p",15,232,86,7,13,0,46,0,0,0,0,43,34,0,0,59,0
    "hsa-miR-4521",14,1333,438,0,0,0,2,0,0,0,0,0,0,1,0,0,0
    "hsa-miR-497-5p",13,507,191,0,0,0,22,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-32-3p",10,56,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6783-3p",8,52,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-146b-3p",8,141,55,0,0,0,0,0,0,0,0,0,7,0,16,9,2
    "hsa-miR-6720-3p",7,143,85,8,0,2,0,0,0,0,0,0,0,0,14,0,0
    "hsa-miR-182-3p",6,23,8,0,0,0,0,0,0,0,0,13,8,0,0,0,0
    "hsa-miR-424-3p",6,21,4,6,29,0,13,0,0,0,0,0,0,0,0,11,0
    "hsa-miR-6760-3p",5,4,2,0,0,10,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-3176",4,29,17,0,0,0,0,0,0,0,0,0,0,0,0,11,0
    "hsa-miR-7155-3p",4,7,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0
    "hsa-miR-6758-5p",4,10,8,0,36,0,0,0,0,0,0,0,0,0,25,9,0
    "hsa-miR-6786-3p",4,24,4,0,0,0,0,0,0,0,0,0,0,1,15,0,0
    "hsa-miR-1254",4,71,25,9,0,15,10,0,0,0,0,3,21,1,22,0,3
    "hsa-miR-4804-5p",4,15,2,0,16,0,0,0,0,0,0,8,0,2,0,0,0
    "hsa-miR-188-5p",4,151,85,7,0,0,1,0,0,0,0,0,4,0,0,0,0
    "hsa-miR-92a-2-5p",3,47,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-32-5p",3,28,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-24-2-5p",3,338,140,2,0,13,21,0,0,0,0,0,0,0,20,0,0
    "hsa-miR-2355-3p",3,25,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-1303",3,39,10,0,0,0,0,0,0,0,0,0,0,1,19,16,0
    "hsa-miR-193a-5p",3,40,12,5,0,0,0,0,0,0,0,0,12,0,8,0,0
    "hsa-miR-3651",3,16,9,6,9,0,17,0,0,0,0,0,0,0,0,2,0
    "hsa-miR-1260b",3,0,0,4,0,0,1,0,0,0,0,0,6,0,15,0,0
    "hsa-miR-4458",3,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-1273h-3p",2,40,24,15,27,18,18,0,0,0,0,0,0,0,0,4,0
    "hsa-miR-4485-3p",2,25,1,0,0,0,0,0,0,0,0,0,0,0,14,0,0
    "hsa-miR-22-5p",2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-937-5p",2,5,0,0,0,0,18,0,0,0,0,0,0,0,0,9,0
    "hsa-miR-7851-3p",2,14,8,0,0,0,19,0,0,0,0,0,0,0,18,0,0
    "hsa-miR-3653-3p",2,11,3,0,0,0,2,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-876-5p",2,10,12,0,17,0,0,0,0,0,0,0,0,0,29,13,0
    "hsa-miR-3179",2,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6762-3p",2,16,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-138-5p",2,27,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-1179",2,738,227,0,0,0,23,2,0,0,0,9,0,0,14,68,1
    "hsa-miR-1247-5p",2,7,1,0,0,14,9,0,0,0,0,0,0,0,0,5,0
    "hsa-miR-1227-3p",2,10,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4646-3p",2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-374b-3p",2,120,31,0,17,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-1236-3p",2,0,1,0,0,0,16,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-548e-5p",2,14,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-133a-5p",2,81,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-3912-3p",2,74,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4781-3p",2,59,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6882-3p",2,1,1,9,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-381-3p",2,82,49,0,0,0,0,1,0,0,0,0,19,0,0,6,0
    "hsa-miR-6886-3p",2,4,0,11,0,0,0,0,0,0,0,4,0,0,0,0,0
    "hsa-miR-196a-3p",2,271,107,0,1,0,0,0,0,0,0,0,8,0,18,20,0
    "hsa-miR-34c-5p",2,30,9,0,0,0,0,0,0,0,0,0,23,0,24,8,6
    "hsa-miR-548s",1,13,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6800-3p",1,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0
    "hsa-miR-4498",1,12,5,0,0,0,0,0,0,0,0,0,0,0,0,6,0
    "hsa-miR-4517",1,55,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6894-3p",1,6,2,6,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-1234-3p",1,16,4,0,0,0,0,0,0,0,0,0,0,0,6,0,0
    "hsa-miR-5579-3p",1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-887-5p",1,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4638-5p",1,9,2,0,19,0,0,0,0,0,0,0,19,0,0,4,0
    "hsa-miR-3146",1,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6840-5p",1,17,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-7855-5p",1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6865-5p",1,2,2,0,0,0,0,0,0,0,0,0,6,0,0,0,0
    "hsa-miR-6766-5p",1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6820-3p",1,3,2,0,0,0,7,0,0,0,0,0,9,0,0,0,0
    "hsa-miR-3609",1,11,3,0,0,0,0,0,0,0,0,0,0,0,0,1,0
    "hsa-miR-6759-5p",1,5,3,0,0,0,0,0,0,0,0,0,4,0,0,5,0
    "hsa-miR-6808-3p",1,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4440",1,57,11,8,0,0,1,0,0,0,0,0,7,0,0,0,0
    "hsa-miR-129-1-3p",1,10,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-1914-3p",1,2,0,0,0,0,12,0,0,0,0,0,0,0,0,7,0
    "hsa-miR-6852-5p",1,22,6,0,0,0,0,0,0,0,0,0,5,0,0,19,0
    "hsa-miR-6769a-3p",1,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-579-5p",1,4,3,0,17,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-3122",1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-23a-5p",1,27,7,0,12,0,9,0,0,0,0,0,0,2,0,0,0
    "hsa-miR-6873-5p",1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-301b-5p",1,30,4,0,0,0,0,0,0,0,0,0,0,0,6,0,0
    "hsa-miR-3120-5p",1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-1185-1-3p",1,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-3136-5p",1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6775-3p",1,4,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-610",1,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-592",1,45,17,0,0,0,0,0,0,0,0,0,6,0,0,0,0
    "hsa-miR-6893-5p",1,1,2,0,0,0,4,2,0,0,0,14,0,0,0,0,0
    "hsa-miR-3936",1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0
    "hsa-miR-2277-3p",1,12,5,0,12,0,14,0,0,0,0,0,0,0,0,5,0
    "hsa-miR-6515-5p",1,17,2,11,34,0,21,0,0,0,0,0,10,0,22,15,0
    "hsa-miR-1236-5p",1,0,1,4,0,0,0,0,0,0,0,0,10,0,0,8,0
    "hsa-miR-3607-3p",1,48,33,0,0,0,1,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-3157-3p",1,35,6,0,0,0,9,0,0,0,0,0,0,0,19,0,4
    "hsa-miR-1257",1,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6857-3p",1,14,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-140-5p",1,201,72,1,0,0,0,0,0,0,0,0,0,0,22,0,0
    "hsa-miR-6751-3p",1,6,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-3661",1,7,3,4,0,0,0,0,0,0,0,0,30,0,0,24,0
    "hsa-miR-1909-5p",1,6,2,0,0,2,0,0,0,0,0,0,12,0,0,9,0
    "hsa-miR-1273h-5p",1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6866-5p",1,23,7,0,2,0,0,0,0,0,0,0,16,0,0,12,3
    "hsa-miR-574-5p",1,0,0,7,8,0,0,0,0,0,0,0,0,0,27,2,0
    "hsa-miR-6820-5p",1,8,4,0,0,0,8,0,0,0,0,0,11,0,0,0,0
    "hsa-miR-4717-3p",1,23,20,0,13,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6850-5p",1,5,0,0,22,1,0,0,0,0,0,0,7,0,10,0,0
    "hsa-miR-6886-5p",1,0,2,0,0,0,10,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-5587-3p",1,7,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-31-5p",1,97,25,0,0,0,0,0,0,0,0,0,17,0,0,0,0
    "hsa-miR-495-3p",1,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4708-3p",1,23,9,0,0,0,3,0,0,0,0,0,0,0,0,2,7
    "hsa-miR-4753-5p",1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-942-3p",1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-5010-3p",1,45,27,0,0,0,0,0,0,0,0,0,3,0,0,0,0
    "hsa-miR-491-5p",1,8,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6827-5p",1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-101-5p",1,154,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6770-3p",1,10,8,0,19,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6853-3p",1,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6895-3p",1,1,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-3190-3p",1,13,4,0,14,0,0,0,0,0,0,0,11,0,18,13,0
    "hsa-miR-487a-5p",1,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-150-3p",1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-3192-5p",1,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-2355-5p",1,47,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4798-5p",1,18,22,0,0,0,0,0,0,0,0,0,0,0,1,0,0
    "hsa-miR-6726-3p",1,4,8,3,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-153-3p",0,424,163,0,5,0,6,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-7-1-3p",0,347,113,0,1,0,20,0,0,0,0,0,17,0,12,7,0
    "hsa-miR-338-3p",0,289,100,0,0,0,0,1,0,0,0,0,0,0,0,0,3
    "hsa-miR-29b-3p",0,98,57,0,9,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-542-3p",0,93,42,0,0,0,0,0,0,0,0,18,0,0,0,0,0
    "hsa-miR-20a-3p",0,91,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-1255a",0,81,25,0,0,0,0,1,0,0,0,0,0,0,36,0,3
    "hsa-miR-6798-3p",0,79,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-137",0,77,34,0,0,0,0,0,0,0,0,0,8,0,0,0,0
    "hsa-miR-3677-3p",0,66,21,0,0,0,10,0,0,0,0,0,9,0,18,0,0
    "hsa-miR-550a-5p",0,56,23,0,0,0,0,1,0,0,0,0,0,0,12,0,1
    "hsa-miR-135b-5p",0,53,17,0,0,0,0,0,0,0,0,0,0,0,0,15,0
    "hsa-miR-24-1-5p",0,52,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6716-3p",0,51,13,0,6,0,0,0,0,0,0,0,16,0,0,0,0
    "hsa-miR-217",0,51,22,0,0,0,0,0,0,0,0,0,14,0,0,0,6
    "hsa-miR-135b-3p",0,48,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-616-5p",0,46,11,0,4,0,13,0,0,0,0,0,8,0,0,0,2
    "hsa-miR-331-5p",0,42,10,0,0,0,0,0,0,0,0,0,0,0,12,0,0
    "hsa-miR-627-5p",0,39,16,0,0,15,0,0,0,0,0,0,0,0,0,9,0
    "hsa-miR-3940-3p",0,39,4,0,25,0,17,0,0,0,0,0,9,0,0,0,0
    "hsa-miR-5001-3p",0,37,13,0,0,0,0,0,0,0,0,0,0,0,0,11,0
    "hsa-miR-6806-3p",0,36,19,0,18,0,0,0,0,0,0,0,12,0,0,0,0
    "hsa-miR-4775",0,35,16,0,0,0,0,0,0,0,0,0,0,0,20,8,0
    "hsa-miR-675-5p",0,34,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-3139",0,33,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-203b-3p",0,33,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-1266-5p",0,32,9,0,0,0,0,0,0,0,0,22,0,0,0,36,0
    "hsa-miR-345-3p",0,31,8,0,0,0,22,0,0,0,0,0,10,0,0,11,0
    "hsa-miR-450b-5p",0,31,17,0,0,0,0,0,0,0,0,0,13,0,0,0,0
    "hsa-miR-660-3p",0,31,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-21-3p",0,29,29,0,0,0,3,0,0,0,0,21,11,0,0,0,0
    "hsa-miR-3145-3p",0,27,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-20b-3p",0,26,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-424-5p",0,26,10,0,0,0,0,0,0,0,0,0,0,2,0,0,0
    "hsa-miR-18b-5p",0,24,4,0,0,0,6,0,0,0,0,0,0,0,0,4,0
    "hsa-miR-449c-5p",0,24,21,0,0,0,0,0,0,0,0,0,0,1,0,0,2
    "hsa-miR-7703",0,24,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-585-3p",0,23,10,0,0,0,0,0,0,0,0,0,0,0,0,9,0
    "hsa-miR-362-3p",0,23,9,0,0,0,0,0,0,0,0,0,4,0,0,0,0
    "hsa-miR-3120-3p",0,20,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-124-5p",0,20,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-216b-5p",0,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6720-5p",0,19,10,0,0,0,0,0,0,0,0,0,12,0,0,0,0
    "hsa-miR-19b-1-5p",0,19,12,0,0,0,9,0,0,0,0,0,0,0,0,19,0
    "hsa-miR-590-5p",0,19,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-589-3p",0,19,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4742-3p",0,19,5,0,0,0,9,0,0,0,0,0,0,0,0,8,0
    "hsa-miR-548n",0,18,10,0,0,0,0,0,0,0,0,0,0,0,0,0,2
    "hsa-miR-6770-5p",0,18,15,0,0,0,29,0,0,0,0,0,18,0,6,0,0
    "hsa-miR-5696",0,18,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-539-3p",0,18,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-219b-3p",0,17,7,0,0,0,19,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-3149",0,17,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-196b-3p",0,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-548j-5p",0,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-548ba",0,17,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-103a-2-5p",0,16,19,0,0,0,0,0,0,0,0,6,0,0,0,0,0
    "hsa-miR-455-5p",0,16,5,0,0,0,0,0,0,0,0,0,0,0,0,16,0
    "hsa-miR-642a-3p",0,16,4,0,0,0,0,0,0,0,0,0,16,11,16,0,1
    "hsa-miR-664b-5p",0,16,3,0,0,0,0,0,0,0,0,0,12,0,0,1,0
    "hsa-miR-4999-5p",0,16,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-455-3p",0,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4640-3p",0,15,3,4,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4726-5p",0,15,4,0,0,0,2,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-3074-3p",0,15,3,0,0,0,0,0,0,0,0,0,8,0,0,0,0
    "hsa-miR-3662",0,15,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-95-5p",0,14,7,0,0,0,0,0,0,0,0,14,0,0,36,0,0
    "hsa-miR-3684",0,14,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6837-3p",0,14,13,0,0,15,0,0,0,0,0,0,9,0,34,0,0
    "hsa-miR-5695",0,14,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-675-3p",0,14,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-3150a-5p",0,14,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-3150a-3p",0,14,2,0,0,0,0,0,0,0,0,0,8,0,0,18,0
    "hsa-miR-3177-5p",0,13,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-3143",0,13,8,0,0,0,0,0,0,0,0,0,0,0,0,0,1
    "hsa-miR-193a-3p",0,13,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-548at-5p",0,13,7,0,15,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-545-5p",0,13,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-5688",0,13,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0
    "hsa-miR-450a-5p",0,13,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6802-3p",0,13,4,0,0,0,10,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-3939",0,12,8,0,15,0,0,0,0,0,0,0,13,0,0,0,0
    "hsa-miR-16-1-3p",0,12,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-216a-3p",0,12,4,0,0,0,0,0,0,0,0,0,0,0,16,0,0
    "hsa-miR-6833-3p",0,12,3,0,0,0,6,0,0,0,0,0,10,0,0,10,0
    "hsa-miR-6516-5p",0,12,2,0,16,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6750-3p",0,12,3,0,0,0,15,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4667-3p",0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-153-5p",0,11,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-7112-3p",0,11,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-26a-1-3p",0,11,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-181b-3p",0,11,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6508-3p",0,11,1,0,0,0,0,0,0,0,0,0,0,0,0,3,0
    "hsa-miR-627-3p",0,11,4,0,0,0,0,0,0,0,0,0,0,0,12,5,0
    "hsa-miR-5583-3p",0,11,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6513-5p",0,10,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-34a-3p",0,10,6,0,0,0,0,0,0,0,0,0,22,0,0,0,0
    "hsa-miR-6516-3p",0,10,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-7156-5p",0,10,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-597-3p",0,10,7,0,0,0,0,0,0,0,0,0,0,0,17,0,0
    "hsa-miR-7114-3p",0,10,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-488-3p",0,10,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-5690",0,10,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-3685",0,9,4,0,0,0,0,0,0,0,0,0,0,0,14,0,0
    "hsa-miR-6823-5p",0,9,3,0,0,0,13,0,0,0,0,0,7,0,0,9,0
    "hsa-miR-4504",0,9,3,0,0,0,0,0,0,0,0,0,0,0,0,10,0
    "hsa-miR-6510-3p",0,9,4,0,0,0,0,0,0,0,0,0,8,0,0,11,0
    "hsa-miR-142-5p",0,9,1,23,37,10,0,0,0,0,0,19,20,0,44,18,0
    "hsa-miR-4766-3p",0,9,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-1284",0,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-18b-3p",0,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4461",0,9,5,0,0,0,9,0,0,0,0,18,0,0,0,1,0
    "hsa-miR-3617-5p",0,9,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6737-3p",0,9,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-211-5p",0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-548al",0,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-23b-5p",0,8,6,0,0,0,0,0,0,0,0,0,11,0,0,28,0
    "hsa-miR-5680",0,8,6,0,0,0,0,0,0,0,0,0,6,0,17,1,0
    "hsa-miR-99b-5p",0,8,1,0,0,0,0,0,0,0,0,0,0,0,23,11,0
    "hsa-miR-147b",0,8,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6864-5p",0,8,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-643",0,8,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-7156-3p",0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-874-5p",0,8,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0
    "hsa-miR-548a-3p",0,8,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6513-3p",0,8,2,0,0,0,5,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-548ah-3p|hsa-miR-548av-3p",0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-mir-30c-2",0,8,2,0,14,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-mir-103a-1",0,8,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0
    "hsa-miR-6762-5p",0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-3128",0,7,4,0,0,0,0,0,0,0,0,0,15,0,0,0,0
    "hsa-miR-363-5p",0,7,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-28-5p",0,7,3,0,0,11,13,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6784-3p",0,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-199b-5p",0,7,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-3688-3p",0,7,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-5003-3p",0,7,2,0,0,0,13,0,0,0,0,9,14,0,20,12,0
    "hsa-miR-6797-3p",0,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-542-5p",0,7,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4749-3p",0,7,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-34b-5p",0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-1249-3p",0,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-580-3p",0,7,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-5004-5p",0,7,1,0,0,0,25,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-5094",0,7,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4671-3p",0,7,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-let-7i-3p",0,7,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-129-2-3p",0,6,6,0,0,0,0,0,0,0,0,0,0,2,0,0,0
    "hsa-let-7a-1",0,6,1,0,0,0,0,0,0,0,0,0,3,0,0,0,0
    "hsa-miR-6826-5p",0,6,3,0,0,0,0,0,0,0,0,0,0,2,0,0,0
    "hsa-miR-3191-3p",0,6,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6728-3p",0,6,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6862-3p",0,6,1,0,0,0,0,0,0,0,0,0,11,0,0,0,0
    "hsa-miR-450a-1-3p",0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-548az-5p",0,6,12,0,0,0,0,0,0,0,0,0,10,2,0,0,0
    "hsa-miR-3619-5p",0,6,4,0,0,4,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6804-3p",0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4289",0,6,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-5004-3p",0,6,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-570-3p",0,6,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-502-5p",0,6,3,0,0,0,0,0,0,0,0,0,0,0,13,1,0
    "hsa-miR-3177-3p",0,6,3,14,0,0,15,0,0,0,0,0,30,0,8,4,0
    "hsa-miR-3925-5p",0,6,1,0,0,0,18,0,0,0,0,0,27,3,0,28,0
    "hsa-miR-4760-5p",0,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4728-3p",0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6804-5p",0,6,2,0,0,15,20,0,0,0,0,0,0,0,0,13,0
    "hsa-miR-6855-3p",0,6,1,0,0,7,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-5187-3p",0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-3157-5p",0,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6868-3p",0,6,11,0,0,0,13,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4474-3p",0,6,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6848-5p",0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-100-5p",0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-199a-5p",0,5,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0
    "hsa-miR-6813-5p",0,5,4,0,0,0,8,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4751",0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6769a-5p",0,5,0,0,6,0,8,0,0,0,0,0,7,0,0,0,0
    "hsa-miR-1278",0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4641",0,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6732-3p",0,5,3,0,0,0,0,0,0,0,0,0,0,3,0,0,0
    "hsa-miR-767-5p",0,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6819-3p",0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6750-5p",0,5,1,0,0,0,0,0,0,0,0,0,15,0,0,8,0
    "hsa-miR-6754-3p",0,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-2115-3p",0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4747-3p",0,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-124-3p",0,5,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0
    "hsa-miR-6754-5p",0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-3163",0,5,2,0,0,0,5,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4754",0,5,1,0,0,0,7,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4762-3p",0,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-7-2-3p",0,5,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6840-3p",0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-676-5p",0,5,4,0,0,0,11,0,0,0,0,0,10,0,0,15,0
    "hsa-miR-4666a-5p",0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-3942-3p",0,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-377-3p",0,5,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-186-3p",0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-3116",0,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-579-3p",0,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-125a-5p",0,4,6,0,0,0,11,0,0,0,0,0,0,0,0,5,2
    "hsa-miR-3064-3p",0,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-3160-3p",0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6735-3p",0,4,6,0,0,0,0,0,0,0,0,0,7,0,0,10,0
    "hsa-miR-6879-3p",0,4,5,0,0,13,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6796-3p",0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-612",0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-548ad-5p|hsa-miR-548ae-5p",0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0
    "hsa-miR-6793-3p",0,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6743-3p",0,4,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6739-3p",0,4,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4671-5p",0,4,2,0,0,0,0,0,0,0,0,0,18,0,0,0,0
    "hsa-miR-496",0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4457",0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6852-3p",0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6851-5p",0,4,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0
    "hsa-miR-548t-5p",0,4,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0
    "hsa-miR-6767-3p",0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-218-1-3p",0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-3616-5p",0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4640-5p",0,4,1,0,0,0,0,0,0,0,0,0,8,0,0,0,0
    "hsa-miR-6755-3p",0,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6818-5p",0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4656",0,4,1,0,0,0,0,0,0,0,0,0,2,0,0,0,0
    "hsa-miR-6818-3p",0,4,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-548ap-5p",0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-3125",0,4,0,0,17,0,0,0,0,0,0,0,0,0,14,0,0
    "hsa-miR-548ab",0,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,2
    "hsa-miR-4685-3p",0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-188-3p",0,4,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6841-5p",0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6859-3p",0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-449b-3p",0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4730",0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-664b-3p",0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4762-5p",0,3,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0
    "hsa-miR-1304-5p",0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4803",0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6885-5p",0,3,3,11,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4473",0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-548am-3p",0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6730-3p",0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6742-3p",0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-7110-3p",0,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-29a-5p",0,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6827-3p",0,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-5091",0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6844",0,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-154-5p",0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-7845-5p",0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4683",0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4528",0,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-219b-5p",0,3,0,0,0,0,0,0,0,0,0,0,14,0,0,22,0
    "hsa-miR-7106-3p",0,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-1285-3p",0,3,1,0,0,0,0,0,0,0,0,0,1,0,0,1,0
    "hsa-miR-6880-5p",0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6885-3p",0,3,2,0,0,0,0,0,0,0,0,0,0,0,14,0,0
    "hsa-miR-4654",0,3,3,0,0,6,9,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-1252-5p",0,3,2,8,0,14,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-541-3p",0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0
    "hsa-miR-597-5p",0,3,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4794",0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-2467-3p",0,3,0,0,0,0,19,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-933",0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-3193",0,3,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4632-3p",0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-3121-3p",0,3,2,0,0,0,0,0,0,0,0,13,0,0,16,0,0
    "hsa-miR-190a-3p",0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6733-5p",0,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-3164",0,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6746-3p",0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-3165",0,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-573",0,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6783-5p",0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4716-3p",0,3,4,4,14,0,15,0,0,0,0,0,13,0,0,11,0
    "hsa-miR-1302",0,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-624-3p",0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-5002-3p",0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6889-5p",0,3,2,11,11,0,0,0,0,0,0,0,9,0,0,24,0
    "hsa-miR-6866-3p",0,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-545-3p",0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-3675-3p",0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6854-5p",0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-1243",0,3,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6796-5p",0,3,1,0,0,16,0,0,0,0,0,0,0,0,0,12,0
    "hsa-let-7b",0,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-192-3p",0,2,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-509-3p",0,2,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-379-5p",0,2,1,31,17,11,27,0,0,0,0,0,23,0,41,64,0
    "hsa-mir-106a",0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-1285-5p",0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-499a-5p",0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-615-5p",0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-5587-5p",0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6871-3p",0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4690-3p",0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4713-5p",0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6851-3p",0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-3923",0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4638-3p",0,2,0,0,0,0,0,0,0,0,0,0,22,0,0,0,0
    "hsa-miR-548o-3p",0,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4750-3p",0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-1911-5p",0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6773-3p",0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6814-3p",0,2,1,0,0,0,5,0,0,0,0,15,0,0,0,0,0
    "hsa-miR-624-5p",0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-136-3p",0,2,0,0,0,0,13,0,0,0,0,0,0,0,23,0,4
    "hsa-miR-219a-2-3p",0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6829-5p",0,2,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0
    "hsa-miR-6744-5p",0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6895-5p",0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4639-5p",0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-556-3p",0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-5090",0,2,0,7,0,0,0,0,0,0,0,0,8,0,0,0,0
    "hsa-miR-4712-3p",0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4753-3p",0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6780b-3p",0,2,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0
    "hsa-miR-3664-5p",0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-7151-5p",0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4723-3p",0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-1292-3p",0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-548ag",0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4684-3p",0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-7152-3p",0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4677-5p",0,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6797-5p",0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-548ak",0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6792-5p",0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4470",0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6874-3p",0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-581",0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6884-3p",0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4642",0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-7109-5p",0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6791-3p",0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6874-5p",0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6888-3p",0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4687-5p",0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-mir-642b",0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-548aj-5p|hsa-miR-548g-5p|hsa-miR-548x-5p",0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-651-5p",0,2,0,0,0,0,0,4,0,0,0,0,0,0,0,10,0
    "hsa-miR-3610",0,2,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0
    "hsa-miR-6752-3p",0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6734-3p",0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-548w",0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-586",0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-3680-5p",0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4725-3p",0,2,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0
    "hsa-miR-548au-5p",0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-3145-5p",0,2,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0
    "hsa-miR-409-5p",0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4787-3p",0,2,2,0,0,0,0,0,0,0,0,0,14,0,0,0,0
    "hsa-miR-3692-5p",0,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-5682",0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-7112-5p",0,2,2,0,0,0,0,0,0,0,0,0,0,0,20,0,0
    "hsa-miR-4501",0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-548ai|hsa-miR-570-5p",0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6830-5p",0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-449b-5p",0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-7151-3p",0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-488-5p",0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-5000-3p",0,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-515-5p",0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-1304-3p",0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-3917",0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4691-3p",0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-551a",0,2,3,0,0,0,1,0,0,0,0,0,11,0,16,0,0
    "hsa-miR-3616-3p",0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4709-3p",0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6816-5p",0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-548av-3p",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4791",0,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4714-3p",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-1914-5p",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6890-5p",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0
    "hsa-miR-6878-5p",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-548as-5p",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6795-5p",0,1,0,0,6,8,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4800-3p",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6798-5p",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-216a-5p",0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-5006-3p",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-1298-5p",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4695-3p",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6768-5p",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-3134",0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4522",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-578",0,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4743-3p",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6831-5p",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-585-5p",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-1262",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-500b-3p",0,1,1,0,13,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-491-3p",0,1,1,0,0,0,0,0,0,0,0,0,0,0,21,0,0
    "hsa-miR-6780a-3p",0,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4655-5p",0,1,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-7114-5p",0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-1323",0,1,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6836-5p",0,1,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0
    "hsa-miR-6776-3p",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-5095",0,1,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-5692a",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-548ah-3p|hsa-miR-548p",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-5196-3p",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6760-5p",0,1,0,0,0,0,0,0,0,0,0,18,23,0,16,0,0
    "hsa-miR-6842-5p",0,1,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0
    "hsa-miR-6739-5p",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6505-5p",0,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-187-3p",0,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-31-3p",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-670-3p",0,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-600",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6733-3p",0,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4740-5p",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6854-3p",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6781-3p",0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6741-5p",0,1,2,0,14,0,7,0,0,0,0,0,0,0,15,0,0
    "hsa-miR-5582-3p",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-548au-3p",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4734",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0
    "hsa-miR-5088-3p",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-96-3p",0,1,3,0,0,0,0,0,0,0,0,18,0,0,0,0,0
    "hsa-miR-3529-5p",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-516a-5p",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-1-5p",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6865-3p",0,1,0,0,0,0,0,0,0,0,0,0,0,0,7,5,0
    "hsa-miR-1277-3p",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-1238-3p",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-3135a",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-548ad-5p|hsa-miR-548ae-5p|hsa-miR-548ay-5p|hsa-miR-548d-5p",0,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-mir-181b-2",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4639-3p",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6779-5p",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-106a-3p",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4755-3p",0,1,0,0,0,0,0,0,0,0,0,0,9,2,0,0,0
    "hsa-mir-92a-1",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4459",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6729-3p",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-588",0,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-1231",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-668-3p",0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6835-5p",0,1,3,0,12,0,11,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4786-3p",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-548d-3p",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6125",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0
    "hsa-miR-6735-5p",0,1,4,0,0,0,0,0,0,0,0,30,14,0,0,0,0
    "hsa-miR-4446-3p",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4714-5p",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-934",0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-3153",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-369-3p",0,1,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-154-3p",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-2113",0,1,1,0,0,2,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-493-3p",0,1,0,0,0,0,0,0,0,0,0,0,0,0,21,0,0
    "hsa-miR-4723-5p",0,1,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6749-3p",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-518a-3p",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-mir-3142",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-548ay-3p",0,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-3142",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-3942-5p",0,1,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6769b-3p",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6742-5p",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-1537-5p",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-338-5p",0,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6505-3p",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4533",0,1,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-508-3p",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-7152-5p",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4664-5p",0,1,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0
    "hsa-miR-3659",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4701-5p",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-3908",0,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6857-5p",0,1,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6861-3p",0,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-3183",0,1,1,0,0,0,0,0,0,0,0,0,9,0,0,12,0
    "hsa-miR-6893-3p",0,1,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6845-3p",0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-1291",0,1,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-5003-5p",0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-1248",0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-1297",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-mir-30c-1",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-mir-7-2",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-mir-92a-2",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-29c-3p",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-mir-500b",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-let-7a-2",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-let-7f-1",0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6824-3p",0,0,3,0,0,0,0,0,0,0,0,0,0,0,18,0,0
    "hsa-miR-450a-2-3p",0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6748-5p",0,0,3,0,0,0,0,0,0,0,0,0,11,0,0,9,0
    "hsa-miR-548p",0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6749-5p",0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-3613-5p",0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-556-5p",0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-383-5p",0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6823-3p",0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6781-5p",0,0,2,0,0,0,9,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-15a-3p",0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-3151-5p",0,0,2,3,0,0,0,0,0,0,0,0,0,0,0,8,0
    "hsa-miR-328-5p",0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6832-3p",0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4764-5p",0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-7155-5p",0,0,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0
    "hsa-miR-7108-3p",0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4465",0,0,1,0,0,0,0,0,0,0,0,0,0,0,10,0,0
    "hsa-miR-518f-5p",0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-2114-3p",0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4644",0,0,1,0,3,0,0,0,0,0,0,0,10,0,0,13,0
    "hsa-miR-3192-3p",0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-3199",0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-539-5p",0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4254",0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6757-5p",0,0,1,0,0,11,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6509-3p",0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4523",0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-1185-5p",0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-526b-5p",0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-2116-5p",0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4784",0,0,1,0,0,0,3,0,0,0,0,0,7,0,24,8,0
    "hsa-miR-6782-5p",0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-548a-5p",0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-559",0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4688",0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4453",0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-1909-3p",0,0,1,0,0,0,0,0,0,0,0,0,0,0,14,0,0
    "hsa-miR-548f-3p",0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4515",0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-376b-3p",0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4798-3p",0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-944",0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-7113-5p",0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0
    "hsa-miR-7976",0,0,1,0,0,0,7,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-2276-5p",0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6849-3p",0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6890-3p",0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6869-5p",0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-3611",0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4767",0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6880-3p",0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-889-5p",0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6848-3p",0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-642b-3p",0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4781-5p",0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-5580-5p",0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6727-3p",0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4797-3p",0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6887-5p",0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-492",0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-3663-5p",0,0,1,9,0,0,0,1,0,0,0,0,0,0,0,0,0
    "hsa-miR-512-3p",0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,18,3
    "hsa-miR-216b-3p",0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-548aw",0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,6,0
    "hsa-miR-548ah-3p|hsa-miR-548av-3p|hsa-miR-548p",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-mir-10a",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6816-3p",0,0,0,0,0,0,12,0,0,0,0,0,8,0,0,0,0
    "hsa-miR-6791-5p",0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-1247-3p",0,0,0,0,0,0,11,0,0,0,0,0,28,3,0,0,0
    "hsa-miR-6737-5p",0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-299-5p",0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-223-3p",0,0,0,0,0,0,3,0,0,0,0,0,0,0,17,9,0
    "hsa-mir-378d-2",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6833-5p",0,0,0,0,0,0,0,1,0,0,0,0,17,0,0,0,0
    "hsa-miR-7108-5p",0,0,0,0,0,0,0,0,0,0,0,22,0,1,22,0,0
    "hsa-miR-6507-3p",0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,0,0
    "hsa-miR-410-3p",0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0
    "hsa-miR-6891-3p",0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0
    "hsa-miR-3620-5p",0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0
    "hsa-miR-1827",0,0,0,0,0,0,0,0,0,0,0,1,2,0,0,1,0
    "hsa-miR-3175",0,0,0,0,1,0,0,0,0,0,0,0,31,0,14,8,0
    "hsa-miR-1288-3p",0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,0
    "hsa-miR-3653-5p",0,0,0,0,0,0,0,0,0,0,0,0,17,0,20,1,0
    "hsa-miR-5194",0,0,0,0,0,0,0,0,0,0,0,0,15,1,0,0,0
    "hsa-miR-6881-3p",0,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,0
    "hsa-miR-299-3p",0,0,0,5,0,0,0,0,0,0,0,0,12,0,0,0,0
    "hsa-miR-6510-5p",0,0,0,0,0,0,0,0,0,0,0,0,11,0,13,0,0
    "hsa-miR-6509-5p",0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0
    "hsa-miR-1180-5p",0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0
    "hsa-miR-4428",0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,13,0
    "hsa-miR-6861-5p",0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0
    "hsa-miR-6501-5p",0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0
    "hsa-miR-1233-5p",0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0
    "hsa-miR-4516",0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0
    "hsa-miR-494-3p",0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0
    "hsa-mir-151b",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-4695-5p",0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0
    "hsa-miR-145-5p",0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0
    "hsa-miR-4482-3p",0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0
    "hsa-miR-5006-5p",0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0
    "hsa-miR-3126-5p",0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,13,0
    "hsa-miR-602",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,0
    "hsa-miR-127-5p",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0
    "hsa-miR-376c-3p",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0
    "hsa-miR-6821-5p",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0
    "hsa-miR-6761-5p",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0
    "hsa-miR-371a-3p",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0
    "hsa-miR-4690-5p",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0
    "hsa-miR-1910-3p",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0
    "hsa-miR-3180",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0
    "hsa-miR-6764-3p",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0
    "hsa-miR-1915-3p",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0
    "hsa-miR-6870-5p",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0
    "hsa-miR-6821-3p",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5
    "hsa-miR-6799-3p",0,0,0,8,13,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-5703",0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0
    "hsa-miR-6785-3p",0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0