jianjunjin / traversome Goto Github PK
View Code? Open in Web Editor NEWgenomic variant frequency estimation
genomic variant frequency estimation
A folder with an example GAF and GFA files and the true isomer frequencies known from simulation.
currently difficult for numpy to generate the function for the situation with too many components.
Try reducing num of valid traversals for heuristic searching using -N
.
Hi @JianjunJin,
After installing GraphAligner (v1.0.13-) and traversome, I tried traversome on my gfa and ONT long read data of a mixture of several phage genomes.
I get three empty sequences out of the traversome run but no error reported.
Do you have any idea what could be fixed to get better results?
I cannot share the sequences publicly but if you give me a private link I can share with you.
thanks in advance for your help
GraphAligner -g assembly_graph.gfa -f ont_reads.fg.gz -a output_align.gaf -x vg
GraphAligner bioconda 1.0.13-
Load graph from assembly_graph.gfa
Build alignment graph
Build minimizer seeder from the graph
Minimizer seeds, length 15, window size 20, density 10
Seed cluster size 1
Alignment bandwidth 10
Clip alignment ends with identity < 66%
X-drop DP score cutoff 14705
write alignments to phi315_align.gaf
Align
Alignment finished
Input reads: 275 (10007905bp)
Seeds found: 2266938
Seeds extended: 2761
Reads with a seed: 275 (10007905bp)
Reads with an alignment: 275 (9560761bp)
Alignments: 2696 (76540021bp) (65 additional alignments discarded)
End-to-end alignments: 0 (0bp)
traversome thorough -g assembly_graph.gfa -a output_align.gaf -o outdir --topo circular --chr all
非常感谢作者大大写出组长叶绿体的优秀软件,但是我如何通过这款软件和getorganelle共同组装出植物线粒体DNA呢?非常感谢您的回答
Dear @Kinggerm
Thank you for your outstanding contribution for this program .
When I running with data assembled form Flye , and generate it's alignment by using minigraph. The Traversome report an error as follows.
`traversome (v.0.0.6.3): genomic isomer frequency estimator
Python 3.10.2 | packaged by conda-forge | (main, Feb 1 2022, 19:29:00) [GCC 9.4.0]
PLATFORM: Linux localhost.localdomain 4.18.0-348.el8.x86_64 #1 SMP Tue Oct 19 15:14:17 UTC 2021 x86_64 x86_64
WORKDIR: /home/daiwei/mitgenome/04/2.27/flye4
COMMAND: /home/daiwei/miniconda3/envs/ts/bin/traversome mc -g /home/daiwei/mitgenome/04/2.27/flye4/assembly_graph.gfa -a /home/daiwei/mitgenome/04/2.27/flye4/assembly_graph_out.gaf -o /home/daiwei/mitgenome/04/2.27/flye4/TS37
2022-03-07-11:22:25.98 | AssemblySimple.py | init | Parsing graph (GFA) to Assembly object
2022-03-07-11:22:25.99 | GraphAlignRecords.py | init | Parsing alignment (GAF) to GraphAlignRecords object
2022-03-07-11:22:25.99 | main.py | mc |
Traceback (most recent call last):
File "/home/daiwei/miniconda3/envs/ts/bin/traversome", line 33, in
sys.exit(load_entry_point('traversome', 'console_scripts', 'traversome')())
│ │ └ <function importlib_load_entry_point at 0x7ff9e014fd90>
│ └
└ <module 'sys' (built-in)>
File "/home/daiwei/miniconda3/envs/ts/lib/python3.10/site-packages/typer/main.py", line 214, in call
return get_command(self)(*args, **kwargs)
│ │ │ └ {}
│ │ └ ()
│ └ <typer.main.Typer object at 0x7ff9dec8a5c0>
└ <function get_command at 0x7ff9dea30dc0>
File "/home/daiwei/miniconda3/envs/ts/lib/python3.10/site-packages/click/core.py", line 1128, in call
return self.main(*args, **kwargs)
│ │ │ └ {}
│ │ └ ()
│ └ <function BaseCommand.main at 0x7ff9de9f48b0>
└
File "/home/daiwei/miniconda3/envs/ts/lib/python3.10/site-packages/click/core.py", line 1053, in main
rv = self.invoke(ctx)
│ │ └ <click.core.Context object at 0x7ff9deec3610>
│ └ <function MultiCommand.invoke at 0x7ff9de9f5900>
└
File "/home/daiwei/miniconda3/envs/ts/lib/python3.10/site-packages/click/core.py", line 1659, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
│ │ │ │ └ <click.core.Context object at 0x7ff9dea38f70>
│ │ │ └ <function Command.invoke at 0x7ff9de9f5360>
│ │ └
│ └ <click.core.Context object at 0x7ff9dea38f70>
└ <function MultiCommand.invoke.._process_result at 0x7ff9dea32320>
File "/home/daiwei/miniconda3/envs/ts/lib/python3.10/site-packages/click/core.py", line 1395, in invoke
return ctx.invoke(self.callback, **ctx.params)
│ │ │ │ │ └ {'graph_file': '/home/daiwei/mitgenome/04/2.27/flye4/assembly_graph.gfa', 'alignment_file': '/home/daiwei/mitgenome/04/2.27/f...
│ │ │ │ └ <click.core.Context object at 0x7ff9dea38f70>
│ │ │ └ <function mc at 0x7ff9dea32050>
│ │ └
│ └ <function Context.invoke at 0x7ff9de9f40d0>
└ <click.core.Context object at 0x7ff9dea38f70>
File "/home/daiwei/miniconda3/envs/ts/lib/python3.10/site-packages/click/core.py", line 754, in invoke
return __callback(*args, **kwargs)
│ └ {'graph_file': '/home/daiwei/mitgenome/04/2.27/flye4/assembly_graph.gfa', 'alignment_file': '/home/daiwei/mitgenome/04/2.27/f...
└ ()
File "/home/daiwei/miniconda3/envs/ts/lib/python3.10/site-packages/typer/main.py", line 500, in wrapper
return callback(**use_params) # type: ignore
│ └ {'graph_file': PosixPath('/home/daiwei/mitgenome/04/2.27/flye4/assembly_graph.gfa'), 'alignment_file': PosixPath('/home/daiwe...
└ <function mc at 0x7ff9dea31a20>
File "/home/daiwei/traversome/traversome/main.py", line 235, in mc
traverser.run(
│ └ <function Traversome.run at 0x7ff614749b40>
└ <traversome.traversome.Traversome object at 0x7ff9dea3ab00>
File "/home/daiwei/traversome/traversome/traversome.py", line 93, in run
self.alignment = GraphAlignRecords(
│ │ └ <class 'traversome.GraphAlignRecords.GraphAlignRecords'>
│ └ None
└ <traversome.traversome.Traversome object at 0x7ff9dea3ab00>
File "/home/daiwei/traversome/traversome/GraphAlignRecords.py", line 176, in init
self.parse_alignment_file()
│ └ <function GraphAlignRecords.parse_alignment_file at 0x7ff6273d7250>
└ <traversome.GraphAlignRecords.GraphAlignRecords object at 0x7ff9dea38700>
File "/home/daiwei/traversome/traversome/GraphAlignRecords.py", line 186, in parse_alignment_file
gaf = GAFRecord(line_split, parse_cigar=self.parse_cigar)
│ │ │ └ False
│ │ └ <traversome.GraphAlignRecords.GraphAlignRecords object at 0x7ff9dea38700>
│ └ ['[M::main::0.003*2.77] loaded the graph from "/home/daiwei/mitgenome/04/2.27/flye4/assembly_graph.gfa"']
└ <class 'traversome.GraphAlignRecords.GAFRecord'>
File "/home/daiwei/traversome/traversome/GraphAlignRecords.py", line 27, in init
self.query_len = int(record_line_split[1]) # q_len or q_aligned_len, not specified in GAF doc, can be tested
│ └ ['[M::main::0.003*2.77] loaded the graph from "/home/daiwei/mitgenome/04/2.27/flye4/assembly_graph.gfa"']
└ <traversome.GraphAlignRecords.GAFRecord object at 0x7ff61473f430>
IndexError: list index out of range
2022-03-07-11:22:26.01 | main.py | mc | Total cost 14.1282`
When I change my data set the error seems still remain.
I'd like to ask you for some advice . Thanks
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.