Comments (8)
Yes, that package is available. A common problem with fur is mixture between target and neighbor genomes. To make sure this doesn't happen, one should reconstruct a phylogeny from the genomes. If you'd like to see how this is done, take a look at the tutorial in the neighbors package.
from fur.
It is a good question, here is a sketch of an answer: Let's say the leaves in the tree are labelled with prefix 'n' for taxonomic neighbors and prefix 't' for taxonomic targets, as explained in the neighbors tutorial. We are looking for the node, v, that maximizes the number of targets in the subtree rooted on v and the number of neighbors elsewhwere.
For example, the tree file o157.txt
contains 449 E. coli genomes, with the pathogen O157:H7 as the target. We iterate over the 448 internal nodes, which were labeled with lande
, and for each node calculate the node score consisting of the sum of the targets found in that node and the neighbors found outside:
for a in $(seq 448); do
t=$(pickle $a o157.txt | grep '^t' | wc -l)
n=$(pickle -c $a o157.txt | grep '^n' | wc -l)
((s=$t+$n))
echo $a $s
done > score.txt
We sort the scores to find that the desired node is 300, which is also the one I'd pick from visual inspection.
sort -n -k 2 -r score.txt | head
Hope this helps.
from fur.
Just in case this is still of interest, the Neighbors package now also contains the program fintac
for finding the target clade according to the procedure sketched above.
from fur.
We are developing the package neighbors for that. The Tutorial in its documentation might help you complete a given set of targets and to find the corresponding neighbors.
from fur.
We are developing the package neighbors for that. The Tutorial in its documentation might help you complete a given set of targets and to find the corresponding neighbors.
Thank you for your reply. Is this package currently available? I basically choose other genomes of the same genus as the neighbors, maybe I need to change the - q parameter.
from fur.
Yes, that package is available. A common problem with fur is mixture between target and neighbor genomes. To make sure this doesn't happen, one should reconstruct a phylogeny from the genomes. If you'd like to see how this is done, take a look at the tutorial in the neighbors package.
Is there a way to automatically correct the target and neighbor genomes?
manual inspection is a time-consuming step and I have many species to construct these genomes. Looking forward to your reply. Thank you.
from fur.
There's a semi-automatic way, which scales well to hundreds of bacterial genomes. It is described in the tutorial of the neighbors package. It consists of the following steps:
- Download target and neighbor genomes as listed by
neighbors
- Construct tree from genomes
- Label tree nodes with and inspect tree to pick the target clade
- List the leaves in the target clade and automatically create symbolic links for them to the
targets
directory - Repeat for the neighbors
- Run
makeFurDb
followed byfur
If this sounds promising to you, take a look at the neighbors tutorial for the details.
from fur.
Thank you for your reply.
I have read the documentation for this package. Actually, I want to automate step 3. At present, I don't have a good idea.
from fur.
Related Issues (17)
- P value input parameter does not affact results HOT 2
- No output for some species HOT 17
- fur error HOT 2
- Single target issue still happening in outdated docker version HOT 2
- Package error in docker image: fur: error while loading shared libraries: libgsl.so.25: cannot open shared object file: No such file or directory HOT 2
- PRIMER_MAX_TM error? HOT 1
- Can not read fasta files HOT 5
- Method of choosing index target representative HOT 1
- Macle.idx is not accessible. HOT 4
- error in fur: efopen HOT 2
- Bug in tutorial HOT 1
- When there is a lot of contigs, makeFurDb is very slow HOT 1
- Error when making fur HOT 4
- Issues on esa HOT 6
- Error when making fur regarding stream HOT 3
- Using docker container HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fur.