This package has been developed to provide a Python interface to the FastANI tool.
Note: You must install the FastANI binaries yourself for this package to work.
This package only has standard dependencies and works for Python versions >=3.6.
pip install fastani
Note: All features except for the matrix and visualization method have been implemented.
To use this package, simply call the fastani
method, all parameters except for the
query
and reference
arguments are optional, and in this case the FastANI default values are used.
The query
and reference
arguments can either be a string, or collection of strings that point to the fasta file(s).
from fastani import fastani
result = fastani(query='query.fna', reference='reference.fna')
dict_results = result.as_dict()
# Accessing results
print(dict_results['query.fna']['reference.fna'].ani) # 89.1234
print(dict_results['query.fna']['reference.fna'].n_frag) # 50
print(dict_results['query.fna']['reference.fna'].total_frag) # 100
print(dict_results['query.fna']['reference.fna'].align_frac) # 0.5
# Writing results to disk
result.to_file('results.txt')
The FastANI default parameters can be overridden by passing the following arguments:
exe
: The path to the FastANI binary.k
: The kmer size to use.cpus
: The number of CPUs to use.frag_len
: Fragment length to use.min_frac
: Minimum fraction of genome shared.min_frag
: Minimum number of aligned fragments(version < 1.3)
.
There are two additional arguments that can be supplied to the fastani
method:
single_execution
: If set toTrue
(default), FastANI will use the query and reference list parameters. If set toFalse
, then each genome will be analysed individually.bidirectional
: If set toFalse
(default), FastANI will only perform aquery -> reference
comparison. If set toTrue
, then areference -> query
comparison will also be performed.