Seqanswers Leaderboard Ad

Collapse

Announcement

Collapse
No announcement yet.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Sorting of fasta file according to gene name in alphabetical order

    Hi all,

    I am kinda new in bioinformatics. I have a question regarding sort of data, hope you all can guide me.

    I have a single fasta file as follow:

    >final_100_00001 hypothetical protein
    GTGTATAAGAGACAGGGCGTTGTCCAGCGCGATCTTCTGGCCGTCGCGATCGAGGGCCTGCCCGAGCGCCGACAGCTTGAGCGACACCTCGAGCGGTCGCACCCCGTCGCATGCGATATCGCCGCGGCGGC
    .
    .
    .
    .
    .
    >final_106_02271 hypothetical protein
    ATGCGCACTACGATCGACCTCGATGACGACATACTGCGGGCGTTGAAACGACGCCAGCGCGAGGAGCGCAAAACGTTAGGGCAGCTCGCCTCCGAATTGCTTGCGCAAGCTCTGG
    >final_106_02272 putative ribonuclease VapC43
    GTGAGCGAAACCTTTGACGTCGATGTTCTGGTCCATGCGACGCACCGAGCCAGCCCGTTTCACGATAAGGCGAAGACGCTCGTTGAGCGATTCCTGGCTGGGCCAGGGCTGGTATATCTA
    >final_106_00001 Glycerol kinase
    GTGTCCGACGCCATCCTAGGAGAGCAATTGGCCGAGTCCTCGGATTTCATAGCCGCCATCGACCAGGGCACCACCAGCACCCGCTGCATGATCTTCGATCACCACGGTGCCGAGG
    >final_107_00002 RDD family protein
    ATGTCGGAGGTGGTGACCGGCGACGCCGTGGTGCTCGACGTACAGATCGCCCAGTTGCCGGTGCGCGCGGTCAGCGCGGTCATCGATATCACCATAATATTCATCGG
    >final_107_00003 hypothetical protein
    ATGCTGCCGCCTGGCTACCCGGTTGAACCACCGCCCGTGGCGCCGGGATATGCGCCGGCCGGATATCCGCCCTACCCCGCTACACCACCCGGGTACGGCCCGCCGGGTTA
    .
    .
    .
    .
    .
    >final_120_02354 hypothetical protein
    ATGACGATGGCTCGGGTGCGTCGCGGCACGGAACTGTTGTTGTCACCTCAGTCGCCGCCGGCCACCGGCGGGCTGATCGTGTTGACCGGTCTGCGGCTGTTGGCTGGGTTGATCTG
    >final_120_02355 Soluble secreted antigen MPT53 precursor
    GTGACTCATTCCCGTCTGATTGGCGCACTTACCGTAGTCGCAATTATCGTCACTGCATGTGGTTCGCAGCCGAAATCCCAGCCCGCAGTGGCACCTACCGGGGACGCGGCCGCT
    >final_120_02356 AhpC/TSA family protein
    GTGCCGACTCGCCGTCTGCAGGACATCAACGATCAACCGGTGGACGTCCCGGCTGCGACCGGAAGGACACACCTGCAGTTTCGGCGGTTCGCGGCCTGTCCGATCTGCCA
    >final_120_02357 transcriptional activator FtrB
    ATGGCAGATCGGTCGGTGCGCCCGCTGCGGCATCTCGTTCATGCGGTGACTGGGGGCCAACCGCCTTCCGAGGCCCAGGTCCGACAGGCAGCCTGGATTGCGCGGTGCGTCGG

    What should I do in order to sort them according to gene name such as the following?

    >final_120_R1_02356 AhpC/TSA family protein
    GTGCCGACTCGCCGTCTGCAGGACATCAACGATCAACCGGTGGACGTCCCGGCTGCGACCGGAAGGACACACCTGCAGTTTCGGCGGTTCGCGGCCTGTCCGATCTGCCA
    >final_106_00001 Glycerol kinase
    GTGTCCGACGCCATCCTAGGAGAGCAATTGGCCGAGTCCTCGGATTTCATAGCCGCCATCGACCAGGGCACCACCAGCACCCGCTGCATGATCTTCGATCACCACGGTGCCGAGG
    >final_100_00001 hypothetical protein
    GTGTATAAGAGACAGGGCGTTGTCCAGCGCGATCTTCTGGCCGTCGCGATCGAGGGCCTGCCCGAGCGCCGACAGCTTGAGCGACACCTCGAGCGGTCGCACCCCGTCGCATGCGATATCGCCGCGGCGGC
    >final_106_02271 hypothetical protein
    ATGCGCACTACGATCGACCTCGATGACGACATACTGCGGGCGTTGAAACGACGCCAGCGCGAGGAGCGCAAAACGTTAGGGCAGCTCGCCTCCGAATTGCTTGCGCAAGCTCTGG
    >final_107_00003 hypothetical protein
    ATGCTGCCGCCTGGCTACCCGGTTGAACCACCGCCCGTGGCGCCGGGATATGCGCCGGCCGGATATCCGCCCTACCCCGCTACACCACCCGGGTACGGCCCGCCGGGTTA
    >final_120_R1_02354 hypothetical protein
    ATGACGATGGCTCGGGTGCGTCGCGGCACGGAACTGTTGTTGTCACCTCAGTCGCCGCCGGCCACCGGCGGGCTGATCGTGTTGACCGGTCTGCGGCTGTTGGCTGGGTTGATCTG
    >final_106_02272 putative ribonuclease VapC43
    GTGAGCGAAACCTTTGACGTCGATGTTCTGGTCCATGCGACGCACCGAGCCAGCCCGTTTCACGATAAGGCGAAGACGCTCGTTGAGCGATTCCTGGCTGGGCCAGGGCTGGTATATCTA
    >final_107_00002 RDD family protein
    ATGTCGGAGGTGGTGACCGGCGACGCCGTGGTGCTCGACGTACAGATCGCCCAGTTGCCGGTGCGCGCGGTCAGCGCGGTCATCGATATCACCATAATATTCATCGG
    >final_120_02355 Soluble secreted antigen MPT53 precursor
    GTGACTCATTCCCGTCTGATTGGCGCACTTACCGTAGTCGCAATTATCGTCACTGCATGTGGTTCGCAGCCGAAATCCCAGCCCGCAGTGGCACCTACCGGGGACGCGGCCGCT
    >final_120_02357 transcriptional activator FtrB
    ATGGCAGATCGGTCGGTGCGCCCGCTGCGGCATCTCGTTCATGCGGTGACTGGGGGCCAACCGCCTTCCGAGGCCCAGGTCCGACAGGCAGCCTGGATTGCGCGGTGCGTCGG

  • #2
    For a file named "foo.fa":

    Code:
    awk '{idx=index($0, " "); ID=$1; NAME=substr($0, idx+1); getline SEQ; printf("%s\t%s\t%s\n", NAME, ID, SEQ);}' foo.fa | sort -k1d,1 | awk -F"\t" '{printf("%s %s\n%s\n", $2,$1,$3)}' > foo.sorted.fa
    The general idea is to linearize each entry, sort by the appropriate column, and then put back in the right format. This won't work if any of the sequences span multiple lines (while you could do that in awk, I'd do that in python for convenience).

    Comment


    • #3
      Hi, thank you for the help. The sequences in the original file (foo.fa in your reply) already in a linearized format.

      After trying out the given command, the output is as following :-(

      AGAGTTTGATCCTGGCTCAGATTGAACGCTGGCGGCATGCCTTACACATGCAAGTCGAACGGCAGCATGATCTAGCTTGCTAG...
      AGAGTTTGATCCTGGCTCAGATTGAACGCTGGCGGCATGCCTTACACATGCAAGTCGAACGGCAGCATGATCTAGCTTGCTAG...
      >final_107_R1_04115 Transposase
      AGAGTTTGATCCTGGCTCAGGACGAACGCTGGCGGCGTGCTTAACACATGCAAGTCGAACGGAAAGGCCCTTCGGGGTACTCG...
      AGAGTTTGATCCTGGCTCAGGACGAACGCTGGCGGCGTGCTTAACACATGCAAGTCGAACGGAAAGGCCCTTCGGGGTACTCG...
      >final_226_R1_00419 Sugar diacid utilization regulator
      AGAGTTTGATCCTGGCTCAGGACGAACGCTGGCGGCGTGCTTAACACATGCAAGTCGAACGGAAAGGCCCTTCGGGGTACTCG...
      AGAGTTTGATCCTGGCTCAGGACGAACGCTGGCGGCGTGCTTAACACATGCAAGTCGAACGGAAAGGCCCTTCGGGGTACTCG...
      >final_230_R1_00884 Beta-ketoadipyl-CoA thiolase
      AGAGTTTGATCCTGGCTCAGGACGAACGCTGGCGGCGTGCTTAACACATGCAAGTCGAACGGAAAGGTCTCTTCGGAGATACT...
      AGAGTTTGATCCTGGCTCAGGACGAACGCTGGCGGCGTGCTTAACACATGCAAGTCGAACGGAAAGGTCTCTTCGGAGATACT...
      >final_103_R1_03549 UDP-N-acetylglucosamine 1-carboxyvinyltransferase
      AGAGTTTGATCCTGGCTCAGGACGAACGCTGGCGGCGTGCTTAACACATGCAAGTCGAACGGAAAGGTCTCTTCGGAGATACT...
      AGAGTTTGATCCTGGCTCAGGACGAACGCTGGCGGCGTGCTTAACACATGCAAGTCGAACGGAAAGGTCTCTTCGGAGATACT...
      >final_105_R1_03559 23S ribosomal RNA
      AGAGTTTGATCCTGGCTCAGGACGAACGCTGGCGGCGTGCTTAACACATGCAAGTCGAACGGAAAGGTCTCTTCGGAGATACT...
      AGAGTTTGATCCTGGCTCAGGACGAACGCTGGCGGCGTGCTTAACACATGCAAGTCGAACGGAAAGGTCTCTTCGGAGATACT...
      >final_106_R1_03486 UDP-N-acetylglucosamine 1-carboxyvinyltransferase
      AGAGTTTGATCCTGGCTCAGGACGAACGCTGGCGGCGTGCTTAACACATGCAAGTCGAACGGAAAGGTCTCTTCGGAGATACT...
      AGAGTTTGATCCTGGCTCAGGACGAACGCTGGCGGCGTGCTTAACACATGCAAGTCGAACGGAAAGGTCTCTTCGGAGATACT...
      >final_107_R1_03459 UDP-N-acetylglucosamine 1-carboxyvinyltransferase
      AGAGTTTGATCCTGGCTCAGGACGAACGCTGGCGGCGTGCTTAACACATGCAAGTCGAACGGAAAGGTCTCTTCGGAGATACT...
      AGAGTTTGATCCTGGCTCAGGACGAACGCTGGCGGCGTGCTTAACACATGCAAGTCGAACGGAAAGGTCTCTTCGGAGATACT...
      >final_108_R1_03464 UDP-N-acetylglucosamine 1-carboxyvinyltransferase
      AGAGTTTGATCCTGGCTCAGGACGAACGCTGGCGGCGTGCTTAACACATGCAAGTCGAACGGAAAGGTCTCTTCGGAGATACT...
      AGAGTTTGATCCTGGCTCAGGACGAACGCTGGCGGCGTGCTTAACACATGCAAGTCGAACGGAAAGGTCTCTTCGGAGATACT...
      >final_109_R1_03413 UDP-N-acetylglucosamine 1-carboxyvinyltransferase
      AGAGTTTGATCCTGGCTCAGGACGAACGCTGGCGGCGTGCTTAACACATGCAAGTCGAACGGAAAGGTCTCTTCGGAGATACT...
      AGAGTTTGATCCTGGCTCAGGACGAACGCTGGCGGCGTGCTTAACACATGCAAGTCGAACGGAAAGGTCTCTTCGGAGATACT...
      >final_110_R1_03462 UDP-N-acetylglucosamine 1-carboxyvinyltransferase
      AGAGTTTGATCCTGGCTCAGGACGAACGCTGGCGGCGTGCTTAACACATGCAAGTCGAACGGAAAGGTCTCTTCGGAGATACT...
      AGAGTTTGATCCTGGCTCAGGACGAACGCTGGCGGCGTGCTTAACACATGCAAGTCGAACGGAAAGGTCTCTTCGGAGATACT...

      >final_111_R1_03536 UDP-N-acetylglucosamine 1-carboxyvinyltransferase
      AGAGTTTGATCCTGGCTCAGGACGAACGCTGGCGGCGTGCTTAACACATGCAAGTCGAACGGAAAGGTCTCTTCGGAGATACT...
      AGAGTTTGATCCTGGCTCAGGACGAACGCTGGCGGCGTGCTTAACACATGCAAGTCGAACGGAAAGGTCTCTTCGGAGATACT...
      >final_112_R1_01396 UDP-N-acetylglucosamine 1-carboxyvinyltransferase
      AGAGTTTGATCCTGGCTCAGGACGAACGCTGGCGGCGTGCTTAACACATGCAAGTCGAACGGAAAGGTCTCTTCGGAGATACT...
      AGAGTTTGATCCTGGCTCAGGACGAACGCTGGCGGCGTGCTTAACACATGCAAGTCGAACGGAAAGGTCTCTTCGGAGATACT...

      Comment


      • #4
        Ah, I had assumed that the sequences were on their own line. Are there tabs separating the ID (e.g., ">final_112_R1_01396") from the gene name or spaces? If the actual fields are tab separated, then just directly use "sort -k2d,2". Otherwise, you just have to replace the appropriate spaces with tabs and pass that to sort (though, you might need to change the field separator for sort, which I think defaults to blank to non-blank transitions).

        Comment


        • #5
          Originally posted by garethboy View Post
          What should I do in order to sort them according to gene name such as the following?
          Hello,

          Try this one to see if it does what you need. Input is a fasta file, sequences can span multiple lines. Guessing from your example, "gene name" is considered to be the string after the first blank in the sequence name.

          Code:
          awk 'BEGIN{RS=">"} NR>1 {gsub("\n", "\t"); print ">"$0}' test.fa  \
          | sort -t ' ' -k2,2 \
          | awk '{sub("\t", "\n"); gsub("\t", ""); print $0}' > test.sorted.out
          Input (test.fa):
          Code:
          >final_106_02271 hypothetical protein
          ATGCGCACTACGATCGACCTCGATGACGACATACTGCGGGCGTTG
          AAACGACGCCAGCGCGAGGAGCGCAAAACGTTAGGGCAGCTCGCCTCCGAATTGCTTGCGCAAGCTCTGG
          >final_106_02272 putative ribonuclease VapC43
          GTGAGCGAAACCTTTGACGTCGATGTTCTGGTCCATGCGACGCA
          CCGAGCCAGCCCGTTTCACGATAAGGCGAAGACGCTCGTTGAGCGATTCCTGGCTGGGCCAGGGCTGGTATATCTA
          >final_106_00001 Glycerol kinase
          GTGTCCGACGCCATCCTAGGAGAGCAATTGGCCGAGTCCTCGGATTTCATAGCCGCCATCGACCAGGGCACCACCAGCACCCGCTGCATGATCTTCGATCACCACGGTGCCGAGG
          >final_107_00002 RDD family protein
          ATGTCGGAGGTGGTGACCGGCGACGCCGTGGTGCTCGACGTACAGATCGCCCAGTTGCCGGTGCGCGCGGTCAGCGCGGTCATCGATATCACCATAATATTCATCGG
          >final_107_00003 hypothetical protein
          ATGCTGCCGCCTGGCTACCCGGTTGAACCACCGCCCGTGGCGCCGGGATATGCGCCGGCCGGATATCCGCCCTACCCCGCTACACCACCCGGGTACGGCCCGCCGGGTTA
          >final_120_02354 hypothetical protein
          ATGACGATGGCTCGGGTGCGTCGCGGCACGGAACTGTTGTTGTCACCTCAGTCGCCGCCGGCCACCGGCGGGCTGATCGTGTTGACCGGTCTGCGGCTGTTGGCTGGGTTGATCTG
          >final_120_02355 Soluble secreted antigen MPT53 precursor
          GTGACTCATTCCCGTCTGATTGGCGCACTTACCGTAGTCGCAATTATCGTCACTGCATGTGGTTCGCAGCCGAAATCCCAGCCCGCAGTGGCACCTACCGGGGACGCGGCCGCT
          >final_120_02356 AhpC/TSA family protein
          GTGCCGACTCGCCGTCTGCAGGACATCAACGATCAACCGGTGGACGTCCCGGCTGCGACCGGAAGGACACACCTGCAGTTTCGGCGGTTCGCGGCCTGTCCGATCTGCCA
          >final_120_02357 transcriptional activator FtrB
          ATGGCAGATCGGTCGGTGCGCCCGCTGCGGCATCTCGTTCATGCGGTGACTGGGGGCCAACCGCCTTCCGAGGCCCAGGTCCGACAGGCAGCCTGGATTGCGCGGTGCGTCGG
          Output (test.sorted.fa):
          Code:
          >final_120_02356 AhpC/TSA family protein
          GTGCCGACTCGCCGTCTGCAGGACATCAACGATCAACCGGTGGACGTCCCGGCTGCGACCGGAAGGACACACCTGCAGTTTCGGCGGTTCGCGGCCTGTCCGATCTGCCA
          >final_106_00001 Glycerol kinase
          GTGTCCGACGCCATCCTAGGAGAGCAATTGGCCGAGTCCTCGGATTTCATAGCCGCCATCGACCAGGGCACCACCAGCACCCGCTGCATGATCTTCGATCACCACGGTGCCGAGG
          >final_107_00002 RDD family protein
          ATGTCGGAGGTGGTGACCGGCGACGCCGTGGTGCTCGACGTACAGATCGCCCAGTTGCCGGTGCGCGCGGTCAGCGCGGTCATCGATATCACCATAATATTCATCGG
          >final_120_02355 Soluble secreted antigen MPT53 precursor
          GTGACTCATTCCCGTCTGATTGGCGCACTTACCGTAGTCGCAATTATCGTCACTGCATGTGGTTCGCAGCCGAAATCCCAGCCCGCAGTGGCACCTACCGGGGACGCGGCCGCT
          >final_106_02271 hypothetical protein
          ATGCGCACTACGATCGACCTCGATGACGACATACTGCGGGCGTTGAAACGACGCCAGCGCGAGGAGCGCAAAACGTTAGGGCAGCTCGCCTCCGAATTGCTTGCGCAAGCTCTGG
          >final_107_00003 hypothetical protein
          ATGCTGCCGCCTGGCTACCCGGTTGAACCACCGCCCGTGGCGCCGGGATATGCGCCGGCCGGATATCCGCCCTACCCCGCTACACCACCCGGGTACGGCCCGCCGGGTTA
          >final_120_02354 hypothetical protein
          ATGACGATGGCTCGGGTGCGTCGCGGCACGGAACTGTTGTTGTCACCTCAGTCGCCGCCGGCCACCGGCGGGCTGATCGTGTTGACCGGTCTGCGGCTGTTGGCTGGGTTGATCTG
          >final_106_02272 putative ribonuclease VapC43
          GTGAGCGAAACCTTTGACGTCGATGTTCTGGTCCATGCGACGCACCGAGCCAGCCCGTTTCACGATAAGGCGAAGACGCTCGTTGAGCGATTCCTGGCTGGGCCAGGGCTGGTATATCTA
          >final_120_02357 transcriptional activator FtrB
          ATGGCAGATCGGTCGGTGCGCCCGCTGCGGCATCTCGTTCATGCGGTGACTGGGGGCCAACCGCCTTCCGAGGCCCAGGTCCGACAGGCAGCCTGGATTGCGCGGTGCGTCGG

          Comment


          • #6
            I should note that changing the sort command in my earlier reply to:

            Code:
            sort -t $'\t' -k1d,1
            will be helpful, since then it'll sort by the whole gene name rather than just the first word. darioober's solution has similar issues. BTW, my solution works correctly under Ubuntu, so perhaps you have a different awk variant if you're getting weird output.

            Comment


            • #7
              thank you dariober and dpryan. it works. :-)

              Comment


              • #8
                Thanks dpryan for the sort code. It works great for me except that in my sorted file it has the sequence name twice. ie >106x2447112 >106x2447112.

                What part of the code removes the printing the name twice?

                Thanks for your help

                Comment


                • #9
                  Hi there,
                  I was trying to sort my fasta file according to the script from this thread:
                  Code:
                  awk 'BEGIN{RS=">"} NR>1 {gsub("\n", "\t"); print ">"$0}' new_15.fasta | sort -t $'\t' -k1d,1| awk '{sub("\t", "\n"); gsub("\t", ""); print $0}' > new_sorted.fasta
                  It works. But not perfectly. Here is the output:
                  Code:
                  (qiime191) [zillur@genomics final]$ head new_sorted.fasta 
                  >M00365:7:000000000-A48JK:1:1101:10000:14343
                  TACGGAGGGGGCTAGCGTTGTTCGGAATTACTGGGCGTAAAGCGTGCGTAGGCGGATTATTAAGTTAGGGGTGAAATCCCGAGGCTCAACCTCGGAACTGCCCTTAAAACTGTTGGTCTTGAGTTCTGGAGAGGTGAGTGGAATTGCTAGT
                  >M00365:7:000000000-A48JK:1:1101:10000:18084
                  TACGGAGGGTGCAAGCGTTAATCGGAATTACTGGGCGTAAAGCGCGCGTAGGCGGCTAGGTCAGTCAGATGTGAAATCCCCGGGCTCAACCTGGGAACTGCATTTGATACTGCCTAGCTAGAGTATGTTAGAGGAATGCGGAATTCCAGGT
                  >M00365:7:000000000-A48JK:1:1101:10000:25105
                  TACGAAGGGGGCTAGCGTTGTTCGGAATTACTGGGCGTAAAGAGTTCGTAGGCGGGTTATTAAGTCAGATGTGAAATCCCAGGGCTCAACCTTGGAACTGCATTTGAAACTGGTAACCTAGAGACTAGGAGAGGTCAGTGGAATACCGAGT
                  >M00365:7:000000000-A48JK:1:1101:10000:5055
                  CACGTAGGGGGCAAGCGTTGTCCGGATTTATTGGGCGTAAAGGGCTCGTAGGCTGTTCAGTAAGTCAGGTGTGAAAATCCAAGGCTCAACCTTGGGACGCCACCTGATACCGCTGTGACTAGAGTCCGGTAGAGGAGATTGGAATTCCTGG
                  >M00365:7:000000000-A48JK:1:1101:10001:16084
                  TACGGAGGGTGCAAGCGTTAATCGGAATTACTGGGCGTAAAGCGCGCGTAGGCGGCTAGGTCAGTCAGATGTGAAATCCCCGGGCTCAACCTGGGAACTGCATTTGATACTGCCTAGCTAGAGTATGTTAGAGGATTGCGGAATTCCAGGT
                  >M00365:7:000000000-A48JK:1:1101:10000:5055 this should be my 1st sequence!!! What you think!!! Thanks in advance for your suggestions.

                  Best Regards
                  Zillur

                  Comment


                  • #10
                    Things can be sorted alphabetically or numerically. In this case it is alphabetical. In your case it looks like you want a much more complicated sort involving numerical sorting of the ends (1101:10000:14343) with each number sorted independently.
                    Providing nextRAD genotyping and PacBio sequencing services. http://snpsaurus.com

                    Comment

                    Latest Articles

                    Collapse

                    • seqadmin
                      Current Approaches to Protein Sequencing
                      by seqadmin


                      Proteins are often described as the workhorses of the cell, and identifying their sequences is key to understanding their role in biological processes and disease. Currently, the most common technique used to determine protein sequences is mass spectrometry. While still a valuable tool, mass spectrometry faces several limitations and requires a highly experienced scientist familiar with the equipment to operate it. Additionally, other proteomic methods, like affinity assays, are constrained...
                      04-04-2024, 04:25 PM
                    • seqadmin
                      Strategies for Sequencing Challenging Samples
                      by seqadmin


                      Despite advancements in sequencing platforms and related sample preparation technologies, certain sample types continue to present significant challenges that can compromise sequencing results. Pedro Echave, Senior Manager of the Global Business Segment at Revvity, explained that the success of a sequencing experiment ultimately depends on the amount and integrity of the nucleic acid template (RNA or DNA) obtained from a sample. “The better the quality of the nucleic acid isolated...
                      03-22-2024, 06:39 AM

                    ad_right_rmr

                    Collapse

                    News

                    Collapse

                    Topics Statistics Last Post
                    Started by seqadmin, 04-11-2024, 12:08 PM
                    0 responses
                    31 views
                    0 likes
                    Last Post seqadmin  
                    Started by seqadmin, 04-10-2024, 10:19 PM
                    0 responses
                    32 views
                    0 likes
                    Last Post seqadmin  
                    Started by seqadmin, 04-10-2024, 09:21 AM
                    0 responses
                    28 views
                    0 likes
                    Last Post seqadmin  
                    Started by seqadmin, 04-04-2024, 09:00 AM
                    0 responses
                    53 views
                    0 likes
                    Last Post seqadmin  
                    Working...
                    X