Package: ngmaster
ngmasterIn silicomulti-antigensequencetyping forNeisseriagonorrhoeae(NG-MAST) andNeisseriagonorrhoeaesequencetyping forantimicrobialresistance (NG-STAR).Synopsisngmaster gono.fa
FILE	SCHEME	    NG-MAST/NG-STAR	porB_NG-MAST	tbpB	penA	mtrR	porB_NG-STAR	ponA	gyrA	parC	23S
gono.fa	ngmaSTar    4186/231            2569            241     23      42      100             100     10      2       100DependenciesPython >= 3.7BioPythonmlstInstallationPiPy# TODO how to integrate mlst dependency
pip3 install ngmasterBrew# TODO how to integrate mlst dependency
brew install brewsci/bio/ngmasterCondaconda install -c bioconda ngmasterTestOnce installed, you can run the following to ensurengmasteris successfully working:ngmaster --testIf everything works, you will see the following:Running ngmaster.py on test example (NG-MAST 4186 / NG-STAR 231) ...
FILE	SCHEME	    NG-MAST/NG-STAR	porB_NG-MAST	tbpB	penA	mtrR	porB_NG-STAR	ponA	gyrA	parC	23S
test.fa	ngmaSTar    4186/231            2569            241     23      42      100             100     10      2       100
... Test successful.Usagengmaster -h

usage:
  ngmaster [OPTIONS] <fasta1> <fasta2> <fasta3> ... <fastaN>

In silico multi-antigen sequence typing for Neisseria gonorrhoeae (NG-MAST)
and Neisseria gonorrhoeae Sequence Typing for Antimicrobial Resistance (NG-STAR)

Please cite as:
  Kwong JC, Goncalves da Silva A, Howden BP and Seemann T.
  NGMASTER: in silico multi-antigen sequence typing for Neisseria gonorrhoeae (NG-MAST)
  GitHub: https://github.com/MDU-PHL/ngmaster

positional arguments:
  FASTA            input FASTA files eg. fasta1, fasta2, fasta3 ... fastaN

optional arguments:
  -h, --help       show this help message and exit
  --db DB          specify custom directory containing allele databases
                   directory must contain database sequence files (.tfa) and allele profile files (ngmast.txt / ngstar.txt)
                   in mlst format (see <https://github.com/tseemann/mlst#adding-a-new-scheme>)
  --csv            output comma-separated format (CSV) rather than tab-separated
  --printseq FILE  specify filename to save allele sequences to
  --minid MINID    DNA percent identity of full allele to consider 'similar' [~]
  --mincov MINCOV  DNA percent coverage to report partial allele at [?]
  --updatedb       update NG-MAST and NG-STAR allele databases from <https://rest.pubmlst.org/db/pubmlst_neisseria_seqdef>
  --assumeyes      assume you are certain you wish to update db
  --test           run test example
  --comments       include NG-STAR comments for each allele in output
  --version        show program's version number and exitQuick startTo performin silicoNG-MAST and NG-STAR typing on FASTA files:$ ngmaster <fasta1> <fasta2> <fasta3> ... <fastaN>The NG-MAST and NG-STAR results and allele numbers are printed in tab-separated format tostdout.ngmasterreports alleles according to the same rules that are implemented inmlst.mlst's arguments--minidand--mincovare available directly inngmasterFor each allele n:SymbolMeaningLengthIdentitynexact intact allele100%100%~nnovel full length allele similar to n100%≥--minidn?partial match to known allele≥--mincov≥--minid-allele missing<--mincov<--minidn,mmultiple allelesTo save results to a tab-separated text file, redirectstdout:$ ngmaster <fasta1> <fasta2> <fasta3> ... <fastaN>  > results.txtTo display results in comma-separated format, use the--csvoption:$ ngmaster --csv <fasta1> <fasta2> <fasta3> ... <fastaN>To save sequences of the alleles to a file (eg. for uploading "new" sequences toPubMLST):$ ngmaster --printseq [filename] <fasta1> <fasta2> <fasta3> ... <fastaN>This will create two files:NGMAST__filenameNGSTAR__filenameUpdating the allele databasesTo update the allele databases fromPubMLST:Warning: This will overwrite the existing databases so ensure you back them up if you wish to keep them.$ ngmaster.py --updatedbA copy of the old database is saved just in case, but is overwritten with each subsequent--updatedb.To update the allele databases into a different folder (ie. not the /db folder in the ngmaster directory):$ ngmaster.py --updatedb --db path/to/folderThis will download the database files into the folderpath/to/folder.
This can then be specified when running ngmaster using the--db  path/to/folderoption.Creating a custom allele databaseTo create a custom allele database please follow the instructions for creating a custommlstdatabase
describedhere.
Usually, this should not be necessary, simply runngmaster --updateto update to the latest NG-MAST and NG-STAR schemes from PubMLST.CitationKwong JC, Gonçalves da Silva A, Dyet K, Williamson DA, Stinear TP, Howden BP and Seemann T.NGMASTER: in silico multi-antigen sequence typing for Neisseria gonorrhoeaeMicrobial Genomics2016 Aug 25;2(8):e000076.
PMID:28348871DOI:10.1099/mgen.0.000076BugsPlease submit via theGitHub issues page.Software LicenceGPLv2ReferencesMartin et al. J Infect Dis, 2004 Apr 15; 189(8): 1497-1505.Demczuk et al. J Clin Microbiol, 2017 May; 55(5): 1454-1468See alsoPubMLST.AuthorsJason Kwong (@kwongjc)Anders Gonçalves da Silva (@drandersgs)Mark Schultz (@schultzm)Torsten Seemann (@torstenseemann)Andreas Stroehlein (@stroehleina)DevelopmentWhen incrementing version (i.e., minor patch), run the following:bumpversion --verbose --dry-run --new-version <major.minor.patch> patch
bumpversion --new-version <new.version.number> patchThe same can be done forminorandmajornumbers.This will automatically commit and tag the commit with the new version number.
It will also update the necessary location in the file.Pushing to pypiMust be uploaded to maintainer's account.bumpversion --new-version <new.version.number> <patch|minor|major>
git push
# create distribution
python3 setup.py sdist bdist_wheel
# run some checkes
twine check dist/*
# upload to test pypi to see if everything works
twine upload --repository-url https://test.pypi.org/legacy/ dist/*
# upload to pypi
twine upload dist/*