liaoherui / StrainScan

High-resolution strain-level microbiome composition analysis tool based on reference genomes and k-mers
https://microbiomejournal.biomedcentral.com/articles/10.1186/s40168-023-01615-w
MIT License
38 stars 5 forks source link

unrecognized arguments: -j (v. 1.0.10) #8

Closed gazollavolpiano closed 1 year ago

gazollavolpiano commented 1 year ago

Hello,

Thank you very much for StrainScan development.

I am trying to use it with PE reads, but the option -j is not recognized.

The output from strainscan -h does not list -j:

usage: StrainScan.py [-h] -i INPUT_FQ -d DB_DIR [-o OUT_DIR] [-k KSIZE]
                     [-l LDEP] [-s MSN]

StrainScan - A kmer-based strain-level identification tool.

optional arguments:
  -h, --help            show this help message and exit
  -i INPUT_FQ, --input_fastq INPUT_FQ
                        The dir of input fastq data --- Required
  -d DB_DIR, --database_dir DB_DIR
                        The dir of your database --- Required
  -o OUT_DIR, --output_dir OUT_DIR
                        Output dir (default: current dir/StrainVote_Result)
  -k KSIZE, --kmer_size KSIZE
                        The size of kmer, should be odd number. (default:
                        k=31)
  -l LDEP, --low_dep LDEP
                        This parameter can be set to "1" if the sequencing
                        depth of input data is very low (e.g. < 10x). For
                        super low depth ( < 1x ), you can use "-l 2" (default:
                        -l 0)
  -s MSN, --minimum_snv_num MSN
                        The minimum number of SNV at Layer-2 identification.
                        (default: k=40)

My version is 1.0.10.

If possible, can you also explain what kind of modifications changing --low_dep does? :)

liaoherui commented 1 year ago

Hi, thanks for using StrainScan!

If you install StrainScan through Bioconda, then you can run the command below to use the latest GitHub version, which has more new features, including parameter "-j".

git clone https://github.com/liaoherui/StrainScan.git cd StrainScan chmod 755 library/jellyfish-linux chmod 755 library/dashing_s128 python StrainScan.py -h

The parameter --low_dep will influence some filtering cutoff of the k-mer tree. Thus, we recommend using this parameter if the depth of your input data is low, in case the program misses those low-depth strains. In addition, you can also consider using the -b parameter if you have low-depth samples, which will calculate a probability for the potential strains/clusters in the low-depth sample. If you use -b, then you don't need to consider the parameter --low_dep anymore.

Any other issues, feel free to ask! :)