New upstream version 1.4.5+dfsg2
Michael R. Crusoe
4 years ago
0 | .bam filter=lfs diff=lfs merge=lfs -text | |
1 | samples/sample_lg_tr.bam filter=lfs diff=lfs merge=lfs -text | |
2 | sample_lg_tr.bam filter=lfs diff=lfs merge=lfs -text |
0 | blib/ | |
1 | .build/ | |
2 | _build/ | |
3 | build/ | |
4 | cover_db/ | |
5 | inc/ | |
6 | Build | |
7 | !Build/ | |
8 | Build.bat | |
9 | .last_cover_stats | |
10 | Makefile | |
11 | Makefile.old | |
12 | MANIFEST.bak | |
13 | META.yml | |
14 | MYMETA.yml | |
15 | nytprof.out | |
16 | pm_to_blib | |
17 | Bio-Tradis-* | |
18 | .DS_Store | |
19 | *.tar.gz | |
20 | *.swp |
0 | sudo: required | |
1 | services: | |
2 | - docker | |
3 | install: | |
4 | - docker pull sangerpathogens/bio-tradis | |
5 | script: | |
6 | - docker run --rm -it sangerpathogens/bio-tradis /bin/bash -c "git clone https://github.com/sanger-pathogens/Bio-Tradis.git && cd Bio-Tradis && dzil test" |
0 | This software is Copyright (c) 2013 by Wellcome Trust Sanger Institute. | |
1 | ||
2 | This is free software, licensed under: | |
3 | ||
4 | The GNU General Public License, Version 3, June 2007 | |
5 | ||
6 | GNU GENERAL PUBLIC LICENSE | |
7 | Version 3, 29 June 2007 | |
8 | ||
9 | Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> | |
10 | Everyone is permitted to copy and distribute verbatim copies | |
11 | of this license document, but changing it is not allowed. | |
12 | ||
13 | Preamble | |
14 | ||
15 | The GNU General Public License is a free, copyleft license for | |
16 | software and other kinds of works. | |
17 | ||
18 | The licenses for most software and other practical works are designed | |
19 | to take away your freedom to share and change the works. By contrast, | |
20 | the GNU General Public License is intended to guarantee your freedom to | |
21 | share and change all versions of a program--to make sure it remains free | |
22 | software for all its users. We, the Free Software Foundation, use the | |
23 | GNU General Public License for most of our software; it applies also to | |
24 | any other work released this way by its authors. You can apply it to | |
25 | your programs, too. | |
26 | ||
27 | When we speak of free software, we are referring to freedom, not | |
28 | price. Our General Public Licenses are designed to make sure that you | |
29 | have the freedom to distribute copies of free software (and charge for | |
30 | them if you wish), that you receive source code or can get it if you | |
31 | want it, that you can change the software or use pieces of it in new | |
32 | free programs, and that you know you can do these things. | |
33 | ||
34 | To protect your rights, we need to prevent others from denying you | |
35 | these rights or asking you to surrender the rights. Therefore, you have | |
36 | certain responsibilities if you distribute copies of the software, or if | |
37 | you modify it: responsibilities to respect the freedom of others. | |
38 | ||
39 | For example, if you distribute copies of such a program, whether | |
40 | gratis or for a fee, you must pass on to the recipients the same | |
41 | freedoms that you received. You must make sure that they, too, receive | |
42 | or can get the source code. And you must show them these terms so they | |
43 | know their rights. | |
44 | ||
45 | Developers that use the GNU GPL protect your rights with two steps: | |
46 | (1) assert copyright on the software, and (2) offer you this License | |
47 | giving you legal permission to copy, distribute and/or modify it. | |
48 | ||
49 | For the developers' and authors' protection, the GPL clearly explains | |
50 | that there is no warranty for this free software. For both users' and | |
51 | authors' sake, the GPL requires that modified versions be marked as | |
52 | changed, so that their problems will not be attributed erroneously to | |
53 | authors of previous versions. | |
54 | ||
55 | Some devices are designed to deny users access to install or run | |
56 | modified versions of the software inside them, although the manufacturer | |
57 | can do so. This is fundamentally incompatible with the aim of | |
58 | protecting users' freedom to change the software. The systematic | |
59 | pattern of such abuse occurs in the area of products for individuals to | |
60 | use, which is precisely where it is most unacceptable. Therefore, we | |
61 | have designed this version of the GPL to prohibit the practice for those | |
62 | products. If such problems arise substantially in other domains, we | |
63 | stand ready to extend this provision to those domains in future versions | |
64 | of the GPL, as needed to protect the freedom of users. | |
65 | ||
66 | Finally, every program is threatened constantly by software patents. | |
67 | States should not allow patents to restrict development and use of | |
68 | software on general-purpose computers, but in those that do, we wish to | |
69 | avoid the special danger that patents applied to a free program could | |
70 | make it effectively proprietary. To prevent this, the GPL assures that | |
71 | patents cannot be used to render the program non-free. | |
72 | ||
73 | The precise terms and conditions for copying, distribution and | |
74 | modification follow. | |
75 | ||
76 | TERMS AND CONDITIONS | |
77 | ||
78 | 0. Definitions. | |
79 | ||
80 | "This License" refers to version 3 of the GNU General Public License. | |
81 | ||
82 | "Copyright" also means copyright-like laws that apply to other kinds of | |
83 | works, such as semiconductor masks. | |
84 | ||
85 | "The Program" refers to any copyrightable work licensed under this | |
86 | License. Each licensee is addressed as "you". "Licensees" and | |
87 | "recipients" may be individuals or organizations. | |
88 | ||
89 | To "modify" a work means to copy from or adapt all or part of the work | |
90 | in a fashion requiring copyright permission, other than the making of an | |
91 | exact copy. The resulting work is called a "modified version" of the | |
92 | earlier work or a work "based on" the earlier work. | |
93 | ||
94 | A "covered work" means either the unmodified Program or a work based | |
95 | on the Program. | |
96 | ||
97 | To "propagate" a work means to do anything with it that, without | |
98 | permission, would make you directly or secondarily liable for | |
99 | infringement under applicable copyright law, except executing it on a | |
100 | computer or modifying a private copy. Propagation includes copying, | |
101 | distribution (with or without modification), making available to the | |
102 | public, and in some countries other activities as well. | |
103 | ||
104 | To "convey" a work means any kind of propagation that enables other | |
105 | parties to make or receive copies. Mere interaction with a user through | |
106 | a computer network, with no transfer of a copy, is not conveying. | |
107 | ||
108 | An interactive user interface displays "Appropriate Legal Notices" | |
109 | to the extent that it includes a convenient and prominently visible | |
110 | feature that (1) displays an appropriate copyright notice, and (2) | |
111 | tells the user that there is no warranty for the work (except to the | |
112 | extent that warranties are provided), that licensees may convey the | |
113 | work under this License, and how to view a copy of this License. If | |
114 | the interface presents a list of user commands or options, such as a | |
115 | menu, a prominent item in the list meets this criterion. | |
116 | ||
117 | 1. Source Code. | |
118 | ||
119 | The "source code" for a work means the preferred form of the work | |
120 | for making modifications to it. "Object code" means any non-source | |
121 | form of a work. | |
122 | ||
123 | A "Standard Interface" means an interface that either is an official | |
124 | standard defined by a recognized standards body, or, in the case of | |
125 | interfaces specified for a particular programming language, one that | |
126 | is widely used among developers working in that language. | |
127 | ||
128 | The "System Libraries" of an executable work include anything, other | |
129 | than the work as a whole, that (a) is included in the normal form of | |
130 | packaging a Major Component, but which is not part of that Major | |
131 | Component, and (b) serves only to enable use of the work with that | |
132 | Major Component, or to implement a Standard Interface for which an | |
133 | implementation is available to the public in source code form. A | |
134 | "Major Component", in this context, means a major essential component | |
135 | (kernel, window system, and so on) of the specific operating system | |
136 | (if any) on which the executable work runs, or a compiler used to | |
137 | produce the work, or an object code interpreter used to run it. | |
138 | ||
139 | The "Corresponding Source" for a work in object code form means all | |
140 | the source code needed to generate, install, and (for an executable | |
141 | work) run the object code and to modify the work, including scripts to | |
142 | control those activities. However, it does not include the work's | |
143 | System Libraries, or general-purpose tools or generally available free | |
144 | programs which are used unmodified in performing those activities but | |
145 | which are not part of the work. For example, Corresponding Source | |
146 | includes interface definition files associated with source files for | |
147 | the work, and the source code for shared libraries and dynamically | |
148 | linked subprograms that the work is specifically designed to require, | |
149 | such as by intimate data communication or control flow between those | |
150 | subprograms and other parts of the work. | |
151 | ||
152 | The Corresponding Source need not include anything that users | |
153 | can regenerate automatically from other parts of the Corresponding | |
154 | Source. | |
155 | ||
156 | The Corresponding Source for a work in source code form is that | |
157 | same work. | |
158 | ||
159 | 2. Basic Permissions. | |
160 | ||
161 | All rights granted under this License are granted for the term of | |
162 | copyright on the Program, and are irrevocable provided the stated | |
163 | conditions are met. This License explicitly affirms your unlimited | |
164 | permission to run the unmodified Program. The output from running a | |
165 | covered work is covered by this License only if the output, given its | |
166 | content, constitutes a covered work. This License acknowledges your | |
167 | rights of fair use or other equivalent, as provided by copyright law. | |
168 | ||
169 | You may make, run and propagate covered works that you do not | |
170 | convey, without conditions so long as your license otherwise remains | |
171 | in force. You may convey covered works to others for the sole purpose | |
172 | of having them make modifications exclusively for you, or provide you | |
173 | with facilities for running those works, provided that you comply with | |
174 | the terms of this License in conveying all material for which you do | |
175 | not control copyright. Those thus making or running the covered works | |
176 | for you must do so exclusively on your behalf, under your direction | |
177 | and control, on terms that prohibit them from making any copies of | |
178 | your copyrighted material outside their relationship with you. | |
179 | ||
180 | Conveying under any other circumstances is permitted solely under | |
181 | the conditions stated below. Sublicensing is not allowed; section 10 | |
182 | makes it unnecessary. | |
183 | ||
184 | 3. Protecting Users' Legal Rights From Anti-Circumvention Law. | |
185 | ||
186 | No covered work shall be deemed part of an effective technological | |
187 | measure under any applicable law fulfilling obligations under article | |
188 | 11 of the WIPO copyright treaty adopted on 20 December 1996, or | |
189 | similar laws prohibiting or restricting circumvention of such | |
190 | measures. | |
191 | ||
192 | When you convey a covered work, you waive any legal power to forbid | |
193 | circumvention of technological measures to the extent such circumvention | |
194 | is effected by exercising rights under this License with respect to | |
195 | the covered work, and you disclaim any intention to limit operation or | |
196 | modification of the work as a means of enforcing, against the work's | |
197 | users, your or third parties' legal rights to forbid circumvention of | |
198 | technological measures. | |
199 | ||
200 | 4. Conveying Verbatim Copies. | |
201 | ||
202 | You may convey verbatim copies of the Program's source code as you | |
203 | receive it, in any medium, provided that you conspicuously and | |
204 | appropriately publish on each copy an appropriate copyright notice; | |
205 | keep intact all notices stating that this License and any | |
206 | non-permissive terms added in accord with section 7 apply to the code; | |
207 | keep intact all notices of the absence of any warranty; and give all | |
208 | recipients a copy of this License along with the Program. | |
209 | ||
210 | You may charge any price or no price for each copy that you convey, | |
211 | and you may offer support or warranty protection for a fee. | |
212 | ||
213 | 5. Conveying Modified Source Versions. | |
214 | ||
215 | You may convey a work based on the Program, or the modifications to | |
216 | produce it from the Program, in the form of source code under the | |
217 | terms of section 4, provided that you also meet all of these conditions: | |
218 | ||
219 | a) The work must carry prominent notices stating that you modified | |
220 | it, and giving a relevant date. | |
221 | ||
222 | b) The work must carry prominent notices stating that it is | |
223 | released under this License and any conditions added under section | |
224 | 7. This requirement modifies the requirement in section 4 to | |
225 | "keep intact all notices". | |
226 | ||
227 | c) You must license the entire work, as a whole, under this | |
228 | License to anyone who comes into possession of a copy. This | |
229 | License will therefore apply, along with any applicable section 7 | |
230 | additional terms, to the whole of the work, and all its parts, | |
231 | regardless of how they are packaged. This License gives no | |
232 | permission to license the work in any other way, but it does not | |
233 | invalidate such permission if you have separately received it. | |
234 | ||
235 | d) If the work has interactive user interfaces, each must display | |
236 | Appropriate Legal Notices; however, if the Program has interactive | |
237 | interfaces that do not display Appropriate Legal Notices, your | |
238 | work need not make them do so. | |
239 | ||
240 | A compilation of a covered work with other separate and independent | |
241 | works, which are not by their nature extensions of the covered work, | |
242 | and which are not combined with it such as to form a larger program, | |
243 | in or on a volume of a storage or distribution medium, is called an | |
244 | "aggregate" if the compilation and its resulting copyright are not | |
245 | used to limit the access or legal rights of the compilation's users | |
246 | beyond what the individual works permit. Inclusion of a covered work | |
247 | in an aggregate does not cause this License to apply to the other | |
248 | parts of the aggregate. | |
249 | ||
250 | 6. Conveying Non-Source Forms. | |
251 | ||
252 | You may convey a covered work in object code form under the terms | |
253 | of sections 4 and 5, provided that you also convey the | |
254 | machine-readable Corresponding Source under the terms of this License, | |
255 | in one of these ways: | |
256 | ||
257 | a) Convey the object code in, or embodied in, a physical product | |
258 | (including a physical distribution medium), accompanied by the | |
259 | Corresponding Source fixed on a durable physical medium | |
260 | customarily used for software interchange. | |
261 | ||
262 | b) Convey the object code in, or embodied in, a physical product | |
263 | (including a physical distribution medium), accompanied by a | |
264 | written offer, valid for at least three years and valid for as | |
265 | long as you offer spare parts or customer support for that product | |
266 | model, to give anyone who possesses the object code either (1) a | |
267 | copy of the Corresponding Source for all the software in the | |
268 | product that is covered by this License, on a durable physical | |
269 | medium customarily used for software interchange, for a price no | |
270 | more than your reasonable cost of physically performing this | |
271 | conveying of source, or (2) access to copy the | |
272 | Corresponding Source from a network server at no charge. | |
273 | ||
274 | c) Convey individual copies of the object code with a copy of the | |
275 | written offer to provide the Corresponding Source. This | |
276 | alternative is allowed only occasionally and noncommercially, and | |
277 | only if you received the object code with such an offer, in accord | |
278 | with subsection 6b. | |
279 | ||
280 | d) Convey the object code by offering access from a designated | |
281 | place (gratis or for a charge), and offer equivalent access to the | |
282 | Corresponding Source in the same way through the same place at no | |
283 | further charge. You need not require recipients to copy the | |
284 | Corresponding Source along with the object code. If the place to | |
285 | copy the object code is a network server, the Corresponding Source | |
286 | may be on a different server (operated by you or a third party) | |
287 | that supports equivalent copying facilities, provided you maintain | |
288 | clear directions next to the object code saying where to find the | |
289 | Corresponding Source. Regardless of what server hosts the | |
290 | Corresponding Source, you remain obligated to ensure that it is | |
291 | available for as long as needed to satisfy these requirements. | |
292 | ||
293 | e) Convey the object code using peer-to-peer transmission, provided | |
294 | you inform other peers where the object code and Corresponding | |
295 | Source of the work are being offered to the general public at no | |
296 | charge under subsection 6d. | |
297 | ||
298 | A separable portion of the object code, whose source code is excluded | |
299 | from the Corresponding Source as a System Library, need not be | |
300 | included in conveying the object code work. | |
301 | ||
302 | A "User Product" is either (1) a "consumer product", which means any | |
303 | tangible personal property which is normally used for personal, family, | |
304 | or household purposes, or (2) anything designed or sold for incorporation | |
305 | into a dwelling. In determining whether a product is a consumer product, | |
306 | doubtful cases shall be resolved in favor of coverage. For a particular | |
307 | product received by a particular user, "normally used" refers to a | |
308 | typical or common use of that class of product, regardless of the status | |
309 | of the particular user or of the way in which the particular user | |
310 | actually uses, or expects or is expected to use, the product. A product | |
311 | is a consumer product regardless of whether the product has substantial | |
312 | commercial, industrial or non-consumer uses, unless such uses represent | |
313 | the only significant mode of use of the product. | |
314 | ||
315 | "Installation Information" for a User Product means any methods, | |
316 | procedures, authorization keys, or other information required to install | |
317 | and execute modified versions of a covered work in that User Product from | |
318 | a modified version of its Corresponding Source. The information must | |
319 | suffice to ensure that the continued functioning of the modified object | |
320 | code is in no case prevented or interfered with solely because | |
321 | modification has been made. | |
322 | ||
323 | If you convey an object code work under this section in, or with, or | |
324 | specifically for use in, a User Product, and the conveying occurs as | |
325 | part of a transaction in which the right of possession and use of the | |
326 | User Product is transferred to the recipient in perpetuity or for a | |
327 | fixed term (regardless of how the transaction is characterized), the | |
328 | Corresponding Source conveyed under this section must be accompanied | |
329 | by the Installation Information. But this requirement does not apply | |
330 | if neither you nor any third party retains the ability to install | |
331 | modified object code on the User Product (for example, the work has | |
332 | been installed in ROM). | |
333 | ||
334 | The requirement to provide Installation Information does not include a | |
335 | requirement to continue to provide support service, warranty, or updates | |
336 | for a work that has been modified or installed by the recipient, or for | |
337 | the User Product in which it has been modified or installed. Access to a | |
338 | network may be denied when the modification itself materially and | |
339 | adversely affects the operation of the network or violates the rules and | |
340 | protocols for communication across the network. | |
341 | ||
342 | Corresponding Source conveyed, and Installation Information provided, | |
343 | in accord with this section must be in a format that is publicly | |
344 | documented (and with an implementation available to the public in | |
345 | source code form), and must require no special password or key for | |
346 | unpacking, reading or copying. | |
347 | ||
348 | 7. Additional Terms. | |
349 | ||
350 | "Additional permissions" are terms that supplement the terms of this | |
351 | License by making exceptions from one or more of its conditions. | |
352 | Additional permissions that are applicable to the entire Program shall | |
353 | be treated as though they were included in this License, to the extent | |
354 | that they are valid under applicable law. If additional permissions | |
355 | apply only to part of the Program, that part may be used separately | |
356 | under those permissions, but the entire Program remains governed by | |
357 | this License without regard to the additional permissions. | |
358 | ||
359 | When you convey a copy of a covered work, you may at your option | |
360 | remove any additional permissions from that copy, or from any part of | |
361 | it. (Additional permissions may be written to require their own | |
362 | removal in certain cases when you modify the work.) You may place | |
363 | additional permissions on material, added by you to a covered work, | |
364 | for which you have or can give appropriate copyright permission. | |
365 | ||
366 | Notwithstanding any other provision of this License, for material you | |
367 | add to a covered work, you may (if authorized by the copyright holders of | |
368 | that material) supplement the terms of this License with terms: | |
369 | ||
370 | a) Disclaiming warranty or limiting liability differently from the | |
371 | terms of sections 15 and 16 of this License; or | |
372 | ||
373 | b) Requiring preservation of specified reasonable legal notices or | |
374 | author attributions in that material or in the Appropriate Legal | |
375 | Notices displayed by works containing it; or | |
376 | ||
377 | c) Prohibiting misrepresentation of the origin of that material, or | |
378 | requiring that modified versions of such material be marked in | |
379 | reasonable ways as different from the original version; or | |
380 | ||
381 | d) Limiting the use for publicity purposes of names of licensors or | |
382 | authors of the material; or | |
383 | ||
384 | e) Declining to grant rights under trademark law for use of some | |
385 | trade names, trademarks, or service marks; or | |
386 | ||
387 | f) Requiring indemnification of licensors and authors of that | |
388 | material by anyone who conveys the material (or modified versions of | |
389 | it) with contractual assumptions of liability to the recipient, for | |
390 | any liability that these contractual assumptions directly impose on | |
391 | those licensors and authors. | |
392 | ||
393 | All other non-permissive additional terms are considered "further | |
394 | restrictions" within the meaning of section 10. If the Program as you | |
395 | received it, or any part of it, contains a notice stating that it is | |
396 | governed by this License along with a term that is a further | |
397 | restriction, you may remove that term. If a license document contains | |
398 | a further restriction but permits relicensing or conveying under this | |
399 | License, you may add to a covered work material governed by the terms | |
400 | of that license document, provided that the further restriction does | |
401 | not survive such relicensing or conveying. | |
402 | ||
403 | If you add terms to a covered work in accord with this section, you | |
404 | must place, in the relevant source files, a statement of the | |
405 | additional terms that apply to those files, or a notice indicating | |
406 | where to find the applicable terms. | |
407 | ||
408 | Additional terms, permissive or non-permissive, may be stated in the | |
409 | form of a separately written license, or stated as exceptions; | |
410 | the above requirements apply either way. | |
411 | ||
412 | 8. Termination. | |
413 | ||
414 | You may not propagate or modify a covered work except as expressly | |
415 | provided under this License. Any attempt otherwise to propagate or | |
416 | modify it is void, and will automatically terminate your rights under | |
417 | this License (including any patent licenses granted under the third | |
418 | paragraph of section 11). | |
419 | ||
420 | However, if you cease all violation of this License, then your | |
421 | license from a particular copyright holder is reinstated (a) | |
422 | provisionally, unless and until the copyright holder explicitly and | |
423 | finally terminates your license, and (b) permanently, if the copyright | |
424 | holder fails to notify you of the violation by some reasonable means | |
425 | prior to 60 days after the cessation. | |
426 | ||
427 | Moreover, your license from a particular copyright holder is | |
428 | reinstated permanently if the copyright holder notifies you of the | |
429 | violation by some reasonable means, this is the first time you have | |
430 | received notice of violation of this License (for any work) from that | |
431 | copyright holder, and you cure the violation prior to 30 days after | |
432 | your receipt of the notice. | |
433 | ||
434 | Termination of your rights under this section does not terminate the | |
435 | licenses of parties who have received copies or rights from you under | |
436 | this License. If your rights have been terminated and not permanently | |
437 | reinstated, you do not qualify to receive new licenses for the same | |
438 | material under section 10. | |
439 | ||
440 | 9. Acceptance Not Required for Having Copies. | |
441 | ||
442 | You are not required to accept this License in order to receive or | |
443 | run a copy of the Program. Ancillary propagation of a covered work | |
444 | occurring solely as a consequence of using peer-to-peer transmission | |
445 | to receive a copy likewise does not require acceptance. However, | |
446 | nothing other than this License grants you permission to propagate or | |
447 | modify any covered work. These actions infringe copyright if you do | |
448 | not accept this License. Therefore, by modifying or propagating a | |
449 | covered work, you indicate your acceptance of this License to do so. | |
450 | ||
451 | 10. Automatic Licensing of Downstream Recipients. | |
452 | ||
453 | Each time you convey a covered work, the recipient automatically | |
454 | receives a license from the original licensors, to run, modify and | |
455 | propagate that work, subject to this License. You are not responsible | |
456 | for enforcing compliance by third parties with this License. | |
457 | ||
458 | An "entity transaction" is a transaction transferring control of an | |
459 | organization, or substantially all assets of one, or subdividing an | |
460 | organization, or merging organizations. If propagation of a covered | |
461 | work results from an entity transaction, each party to that | |
462 | transaction who receives a copy of the work also receives whatever | |
463 | licenses to the work the party's predecessor in interest had or could | |
464 | give under the previous paragraph, plus a right to possession of the | |
465 | Corresponding Source of the work from the predecessor in interest, if | |
466 | the predecessor has it or can get it with reasonable efforts. | |
467 | ||
468 | You may not impose any further restrictions on the exercise of the | |
469 | rights granted or affirmed under this License. For example, you may | |
470 | not impose a license fee, royalty, or other charge for exercise of | |
471 | rights granted under this License, and you may not initiate litigation | |
472 | (including a cross-claim or counterclaim in a lawsuit) alleging that | |
473 | any patent claim is infringed by making, using, selling, offering for | |
474 | sale, or importing the Program or any portion of it. | |
475 | ||
476 | 11. Patents. | |
477 | ||
478 | A "contributor" is a copyright holder who authorizes use under this | |
479 | License of the Program or a work on which the Program is based. The | |
480 | work thus licensed is called the contributor's "contributor version". | |
481 | ||
482 | A contributor's "essential patent claims" are all patent claims | |
483 | owned or controlled by the contributor, whether already acquired or | |
484 | hereafter acquired, that would be infringed by some manner, permitted | |
485 | by this License, of making, using, or selling its contributor version, | |
486 | but do not include claims that would be infringed only as a | |
487 | consequence of further modification of the contributor version. For | |
488 | purposes of this definition, "control" includes the right to grant | |
489 | patent sublicenses in a manner consistent with the requirements of | |
490 | this License. | |
491 | ||
492 | Each contributor grants you a non-exclusive, worldwide, royalty-free | |
493 | patent license under the contributor's essential patent claims, to | |
494 | make, use, sell, offer for sale, import and otherwise run, modify and | |
495 | propagate the contents of its contributor version. | |
496 | ||
497 | In the following three paragraphs, a "patent license" is any express | |
498 | agreement or commitment, however denominated, not to enforce a patent | |
499 | (such as an express permission to practice a patent or covenant not to | |
500 | sue for patent infringement). To "grant" such a patent license to a | |
501 | party means to make such an agreement or commitment not to enforce a | |
502 | patent against the party. | |
503 | ||
504 | If you convey a covered work, knowingly relying on a patent license, | |
505 | and the Corresponding Source of the work is not available for anyone | |
506 | to copy, free of charge and under the terms of this License, through a | |
507 | publicly available network server or other readily accessible means, | |
508 | then you must either (1) cause the Corresponding Source to be so | |
509 | available, or (2) arrange to deprive yourself of the benefit of the | |
510 | patent license for this particular work, or (3) arrange, in a manner | |
511 | consistent with the requirements of this License, to extend the patent | |
512 | license to downstream recipients. "Knowingly relying" means you have | |
513 | actual knowledge that, but for the patent license, your conveying the | |
514 | covered work in a country, or your recipient's use of the covered work | |
515 | in a country, would infringe one or more identifiable patents in that | |
516 | country that you have reason to believe are valid. | |
517 | ||
518 | If, pursuant to or in connection with a single transaction or | |
519 | arrangement, you convey, or propagate by procuring conveyance of, a | |
520 | covered work, and grant a patent license to some of the parties | |
521 | receiving the covered work authorizing them to use, propagate, modify | |
522 | or convey a specific copy of the covered work, then the patent license | |
523 | you grant is automatically extended to all recipients of the covered | |
524 | work and works based on it. | |
525 | ||
526 | A patent license is "discriminatory" if it does not include within | |
527 | the scope of its coverage, prohibits the exercise of, or is | |
528 | conditioned on the non-exercise of one or more of the rights that are | |
529 | specifically granted under this License. You may not convey a covered | |
530 | work if you are a party to an arrangement with a third party that is | |
531 | in the business of distributing software, under which you make payment | |
532 | to the third party based on the extent of your activity of conveying | |
533 | the work, and under which the third party grants, to any of the | |
534 | parties who would receive the covered work from you, a discriminatory | |
535 | patent license (a) in connection with copies of the covered work | |
536 | conveyed by you (or copies made from those copies), or (b) primarily | |
537 | for and in connection with specific products or compilations that | |
538 | contain the covered work, unless you entered into that arrangement, | |
539 | or that patent license was granted, prior to 28 March 2007. | |
540 | ||
541 | Nothing in this License shall be construed as excluding or limiting | |
542 | any implied license or other defenses to infringement that may | |
543 | otherwise be available to you under applicable patent law. | |
544 | ||
545 | 12. No Surrender of Others' Freedom. | |
546 | ||
547 | If conditions are imposed on you (whether by court order, agreement or | |
548 | otherwise) that contradict the conditions of this License, they do not | |
549 | excuse you from the conditions of this License. If you cannot convey a | |
550 | covered work so as to satisfy simultaneously your obligations under this | |
551 | License and any other pertinent obligations, then as a consequence you may | |
552 | not convey it at all. For example, if you agree to terms that obligate you | |
553 | to collect a royalty for further conveying from those to whom you convey | |
554 | the Program, the only way you could satisfy both those terms and this | |
555 | License would be to refrain entirely from conveying the Program. | |
556 | ||
557 | 13. Use with the GNU Affero General Public License. | |
558 | ||
559 | Notwithstanding any other provision of this License, you have | |
560 | permission to link or combine any covered work with a work licensed | |
561 | under version 3 of the GNU Affero General Public License into a single | |
562 | combined work, and to convey the resulting work. The terms of this | |
563 | License will continue to apply to the part which is the covered work, | |
564 | but the special requirements of the GNU Affero General Public License, | |
565 | section 13, concerning interaction through a network will apply to the | |
566 | combination as such. | |
567 | ||
568 | 14. Revised Versions of this License. | |
569 | ||
570 | The Free Software Foundation may publish revised and/or new versions of | |
571 | the GNU General Public License from time to time. Such new versions will | |
572 | be similar in spirit to the present version, but may differ in detail to | |
573 | address new problems or concerns. | |
574 | ||
575 | Each version is given a distinguishing version number. If the | |
576 | Program specifies that a certain numbered version of the GNU General | |
577 | Public License "or any later version" applies to it, you have the | |
578 | option of following the terms and conditions either of that numbered | |
579 | version or of any later version published by the Free Software | |
580 | Foundation. If the Program does not specify a version number of the | |
581 | GNU General Public License, you may choose any version ever published | |
582 | by the Free Software Foundation. | |
583 | ||
584 | If the Program specifies that a proxy can decide which future | |
585 | versions of the GNU General Public License can be used, that proxy's | |
586 | public statement of acceptance of a version permanently authorizes you | |
587 | to choose that version for the Program. | |
588 | ||
589 | Later license versions may give you additional or different | |
590 | permissions. However, no additional obligations are imposed on any | |
591 | author or copyright holder as a result of your choosing to follow a | |
592 | later version. | |
593 | ||
594 | 15. Disclaimer of Warranty. | |
595 | ||
596 | THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY | |
597 | APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT | |
598 | HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY | |
599 | OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, | |
600 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR | |
601 | PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM | |
602 | IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF | |
603 | ALL NECESSARY SERVICING, REPAIR OR CORRECTION. | |
604 | ||
605 | 16. Limitation of Liability. | |
606 | ||
607 | IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING | |
608 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS | |
609 | THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY | |
610 | GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE | |
611 | USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF | |
612 | DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD | |
613 | PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), | |
614 | EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF | |
615 | SUCH DAMAGES. | |
616 | ||
617 | 17. Interpretation of Sections 15 and 16. | |
618 | ||
619 | If the disclaimer of warranty and limitation of liability provided | |
620 | above cannot be given local legal effect according to their terms, | |
621 | reviewing courts shall apply local law that most closely approximates | |
622 | an absolute waiver of all civil liability in connection with the | |
623 | Program, unless a warranty or assumption of liability accompanies a | |
624 | copy of the Program in return for a fee. | |
625 | ||
626 | END OF TERMS AND CONDITIONS | |
627 | ||
628 | How to Apply These Terms to Your New Programs | |
629 | ||
630 | If you develop a new program, and you want it to be of the greatest | |
631 | possible use to the public, the best way to achieve this is to make it | |
632 | free software which everyone can redistribute and change under these terms. | |
633 | ||
634 | To do so, attach the following notices to the program. It is safest | |
635 | to attach them to the start of each source file to most effectively | |
636 | state the exclusion of warranty; and each file should have at least | |
637 | the "copyright" line and a pointer to where the full notice is found. | |
638 | ||
639 | <one line to give the program's name and a brief idea of what it does.> | |
640 | Copyright (C) <year> <name of author> | |
641 | ||
642 | This program is free software: you can redistribute it and/or modify | |
643 | it under the terms of the GNU General Public License as published by | |
644 | the Free Software Foundation, either version 3 of the License, or | |
645 | (at your option) any later version. | |
646 | ||
647 | This program is distributed in the hope that it will be useful, | |
648 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
649 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
650 | GNU General Public License for more details. | |
651 | ||
652 | You should have received a copy of the GNU General Public License | |
653 | along with this program. If not, see <http://www.gnu.org/licenses/>. | |
654 | ||
655 | Also add information on how to contact you by electronic and paper mail. | |
656 | ||
657 | If the program does terminal interaction, make it output a short | |
658 | notice like this when it starts in an interactive mode: | |
659 | ||
660 | <program> Copyright (C) <year> <name of author> | |
661 | This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. | |
662 | This is free software, and you are welcome to redistribute it | |
663 | under certain conditions; type `show c' for details. | |
664 | ||
665 | The hypothetical commands `show w' and `show c' should show the appropriate | |
666 | parts of the General Public License. Of course, your program's commands | |
667 | might be different; for a GUI interface, you would use an "about box". | |
668 | ||
669 | You should also get your employer (if you work as a programmer) or school, | |
670 | if any, to sign a "copyright disclaimer" for the program, if necessary. | |
671 | For more information on this, and how to apply and follow the GNU GPL, see | |
672 | <http://www.gnu.org/licenses/>. | |
673 | ||
674 | The GNU General Public License does not permit incorporating your program | |
675 | into proprietary programs. If your program is a subroutine library, you | |
676 | may consider it more useful to permit linking proprietary applications with | |
677 | the library. If this is what you want to do, use the GNU Lesser General | |
678 | Public License instead of this License. But first, please read | |
679 | <http://www.gnu.org/philosophy/why-not-lgpl.html>. |
0 | # This file was automatically generated by Dist::Zilla::Plugin::Manifest v6.012. | |
1 | AUTHORS | |
2 | BioTraDISTutorial.pdf | |
3 | CHANGELOG.md | |
4 | Dockerfile | |
5 | LICENSE | |
6 | MANIFEST | |
7 | META.json | |
8 | META.yml | |
9 | Makefile.PL | |
10 | README | |
11 | README.md | |
12 | _config.yml | |
13 | bcinstall.log | |
14 | bin/add_tradis_tags | |
15 | bin/bacteria_tradis | |
16 | bin/check_tradis_tags | |
17 | bin/combine_tradis_plots | |
18 | bin/filter_tradis_tags | |
19 | bin/remove_tradis_tags | |
20 | bin/tradis_comparison.R | |
21 | bin/tradis_essentiality.R | |
22 | bin/tradis_gene_insert_sites | |
23 | bin/tradis_merge_plots | |
24 | bin/tradis_plot | |
25 | build/bwa-0.7.17.tbz | |
26 | build/samtools-1.3.tbz | |
27 | build/smalt-0.7.6.tgz | |
28 | build/tabix-master.tgz | |
29 | dist.ini | |
30 | install_dependencies.sh | |
31 | lib/Bio/Tradis.pm | |
32 | lib/Bio/Tradis/AddTagsToSeq.pm | |
33 | lib/Bio/Tradis/Analysis/Exceptions.pm | |
34 | lib/Bio/Tradis/Analysis/InsertSite.pm | |
35 | lib/Bio/Tradis/CombinePlots.pm | |
36 | lib/Bio/Tradis/CommandLine/AddTags.pm | |
37 | lib/Bio/Tradis/CommandLine/CheckTags.pm | |
38 | lib/Bio/Tradis/CommandLine/FilterFastqTags.pm | |
39 | lib/Bio/Tradis/CommandLine/PlotCombine.pm | |
40 | lib/Bio/Tradis/CommandLine/PlotTradis.pm | |
41 | lib/Bio/Tradis/CommandLine/RemoveFastqTags.pm | |
42 | lib/Bio/Tradis/CommandLine/RunMapping.pm | |
43 | lib/Bio/Tradis/CommandLine/TradisAnalysis.pm | |
44 | lib/Bio/Tradis/CommandLine/TradisBam.pm | |
45 | lib/Bio/Tradis/DetectTags.pm | |
46 | lib/Bio/Tradis/Exception.pm | |
47 | lib/Bio/Tradis/FilterTags.pm | |
48 | lib/Bio/Tradis/Map.pm | |
49 | lib/Bio/Tradis/Parser/Bam.pm | |
50 | lib/Bio/Tradis/Parser/Cigar.pm | |
51 | lib/Bio/Tradis/Parser/Fastq.pm | |
52 | lib/Bio/Tradis/RemoveTags.pm | |
53 | lib/Bio/Tradis/RunTradis.pm | |
54 | lib/Bio/Tradis/Samtools.pm | |
55 | lib/Bio/Tradis/TradisPlot.pm | |
56 | recipes/Tradis_SR_RR_12dark_42r1_rehyb12_index8.xml | |
57 | recipes/Tradis_adapter_primers.xlsx | |
58 | recipes/Transposon10/Chemistry/Chemistry.xml | |
59 | recipes/Transposon10/Exposures/Sony.xml | |
60 | recipes/Transposon10/Exposures/SonyV2.xml | |
61 | recipes/Transposon10/Protocol/1Read1Index.xml | |
62 | recipes/Transposon10/Protocol/1Read2Index.xml | |
63 | recipes/Transposon10/Protocol/2Read1Index.xml | |
64 | recipes/Transposon10/Protocol/2Read2Index.xml | |
65 | recipes/Transposon10/Reads/Reads.xml | |
66 | recipes/Transposon10/Reagents/MaintenanceWash.xml | |
67 | recipes/Transposon10/Reagents/PostRunWash.xml | |
68 | recipes/Transposon10/Reagents/Sequencing.xml | |
69 | recipes/Transposon10/Wash/LineWash.xml | |
70 | recipes/Transposon10/Wash/MaintenanceWash.xml | |
71 | recipes/Transposon10/Wash/PostRunWash.xml | |
72 | recipes/Transposon10/Wash/PostRunWashOriginal.xml | |
73 | recipes/Transposon10/Wash/StandbyWash.xml | |
74 | recipes/Transposon12/Chemistry/Chemistry.xml | |
75 | recipes/Transposon12/Exposures/Sony.xml | |
76 | recipes/Transposon12/Exposures/SonyV2.xml | |
77 | recipes/Transposon12/Protocol/1Read1Index.xml | |
78 | recipes/Transposon12/Protocol/1Read2Index.xml | |
79 | recipes/Transposon12/Protocol/2Read1Index.xml | |
80 | recipes/Transposon12/Protocol/2Read2Index.xml | |
81 | recipes/Transposon12/Reads/Reads.xml | |
82 | recipes/Transposon12/Reagents/MaintenanceWash.xml | |
83 | recipes/Transposon12/Reagents/PostRunWash.xml | |
84 | recipes/Transposon12/Reagents/Sequencing.xml | |
85 | recipes/Transposon12/Wash/130702_ImplementingCarryoverDecontamWash_v3.docx | |
86 | recipes/Transposon12/Wash/LineWash.xml | |
87 | recipes/Transposon12/Wash/MaintenanceWash.xml | |
88 | recipes/Transposon12/Wash/PostRunWash.xml | |
89 | recipes/Transposon12/Wash/PostRunWashOriginal.xml | |
90 | recipes/Transposon12/Wash/StandbyWash.xml | |
91 | software_license | |
92 | source_path | |
93 | t/00-report-prereqs.dd | |
94 | t/00-report-prereqs.t | |
95 | t/Bio/Tradis/AddTagsToSeq.t | |
96 | t/Bio/Tradis/Analysis/InsertSite.t | |
97 | t/Bio/Tradis/CombinePlots.t | |
98 | t/Bio/Tradis/CommandLine/TradisAnalysis.t | |
99 | t/Bio/Tradis/DetectTags.t | |
100 | t/Bio/Tradis/FilterTags.t | |
101 | t/Bio/Tradis/Map.t | |
102 | t/Bio/Tradis/Parser/Bam.t | |
103 | t/Bio/Tradis/Parser/Cigar.t | |
104 | t/Bio/Tradis/Parser/Fastq.t | |
105 | t/Bio/Tradis/RemoveTags.t | |
106 | t/Bio/Tradis/RunTradisBWA.t | |
107 | t/Bio/Tradis/RunTradisSmalt.t | |
108 | t/Bio/Tradis/RunTradisTaglessBwa.t | |
109 | t/Bio/Tradis/RunTradisTaglessSmalt.t | |
110 | t/Bio/Tradis/TradisPlot.t | |
111 | t/data/AddTags/expected_tradis.bam | |
112 | t/data/AddTags/expected_tradis.cram | |
113 | t/data/AddTags/sample_sm_no_tr.bam | |
114 | t/data/AddTags/sample_sm_tr.bam | |
115 | t/data/AddTags/sample_sm_tr.cram | |
116 | t/data/CombinePlots/comb_expected.stats | |
117 | t/data/CombinePlots/comb_sample.txt | |
118 | t/data/CombinePlots/first.expected.plot | |
119 | t/data/CombinePlots/sample1.sm.plot.gz | |
120 | t/data/CombinePlots/sample2.sm.plot.gz | |
121 | t/data/CombinePlots/second.expected.plot | |
122 | t/data/CombinePlots/tabix_sorted.insert_site_plot.gz | |
123 | t/data/CombinePlots/tabix_sorted.insert_site_plot.gz.tbi | |
124 | t/data/CombinePlots/test1.plot | |
125 | t/data/CombinePlots/test2.plot | |
126 | t/data/CombinePlots/test3.plot | |
127 | t/data/CombinePlots/test4.plot | |
128 | t/data/CombinePlots/zip_comb_exp.plot | |
129 | t/data/CombinePlots/zip_comb_exp.stats | |
130 | t/data/CombinePlots/zip_comb_list.txt | |
131 | t/data/CommandLine/fastq.list | |
132 | t/data/CommandLine/test_1.fastq | |
133 | t/data/CommandLine/test_2.fastq | |
134 | t/data/DetectTags/AE004091.fasta | |
135 | t/data/DetectTags/AE004091.fasta.fai | |
136 | t/data/DetectTags/sample_sm_no_tr.bam | |
137 | t/data/DetectTags/sample_sm_tr.bam | |
138 | t/data/DetectTags/sample_sm_tr.cram | |
139 | t/data/FilterTags/expected.1mm.caa.fastq | |
140 | t/data/FilterTags/expected.caa.fastq | |
141 | t/data/FilterTags/expected.tna.fastq | |
142 | t/data/FilterTags/sample.fastq | |
143 | t/data/FilterTags/sample.fastq.gz | |
144 | t/data/InsertSite/2_reads.bam | |
145 | t/data/InsertSite/small_multi_sequence.bam | |
146 | t/data/Map/expected.bwa.mapped | |
147 | t/data/Map/expected.smalt.mapped | |
148 | t/data/Map/smallref.fa | |
149 | t/data/Map/test.fastq | |
150 | t/data/Parsers/test.bam | |
151 | t/data/Parsers/test.fastq | |
152 | t/data/RemoveTags/expected.rm.1mm.caa.fastq | |
153 | t/data/RemoveTags/expected.rm.caa.fastq | |
154 | t/data/RemoveTags/expected.rm.tna.fastq | |
155 | t/data/RemoveTags/sample.caa.fastq | |
156 | t/data/RemoveTags/sample.tna.fastq | |
157 | t/data/RunTradisBWA/expected.1mm.plot.gz | |
158 | t/data/RunTradisBWA/expected.plot.gz | |
159 | t/data/RunTradisBWA/filelist.txt | |
160 | t/data/RunTradisBWA/filtered.fastq | |
161 | t/data/RunTradisBWA/mapped.sam | |
162 | t/data/RunTradisBWA/notags.fastq | |
163 | t/data/RunTradisBWA/smallref.fa | |
164 | t/data/RunTradisBWA/test.tagged.fastq | |
165 | t/data/RunTradisBWA/test.tagged.fastq.gz | |
166 | t/data/RunTradisBWA/test2.tagged.fastq | |
167 | t/data/RunTradisBWA/test2.tagged.fastq.gz | |
168 | t/data/RunTradisSmalt/expected.1mm.plot.gz | |
169 | t/data/RunTradisSmalt/expected.plot.gz | |
170 | t/data/RunTradisSmalt/filelist.txt | |
171 | t/data/RunTradisSmalt/filtered.fastq | |
172 | t/data/RunTradisSmalt/mapped.sam | |
173 | t/data/RunTradisSmalt/notags.fastq | |
174 | t/data/RunTradisSmalt/smallref.fa | |
175 | t/data/RunTradisSmalt/test.tagged.fastq | |
176 | t/data/RunTradisSmalt/test.tagged.fastq.gz | |
177 | t/data/RunTradisSmalt/test2.tagged.fastq | |
178 | t/data/RunTradisSmalt/test2.tagged.fastq.gz | |
179 | t/data/RunTradisTaglessBWA/expected.plot.gz | |
180 | t/data/RunTradisTaglessBWA/filelist.txt | |
181 | t/data/RunTradisTaglessBWA/mapped.sam | |
182 | t/data/RunTradisTaglessBWA/notags.fastq | |
183 | t/data/RunTradisTaglessBWA/smallref.fa | |
184 | t/data/RunTradisTaglessSmalt/expected.plot.gz | |
185 | t/data/RunTradisTaglessSmalt/mapped.sam | |
186 | t/data/RunTradisTaglessSmalt/notags.fastq | |
187 | t/data/RunTradisTaglessSmalt/smallref.fa | |
188 | t/data/TradisPlot/expected.plot.gz | |
189 | t/data/TradisPlot/sample.fastq | |
190 | t/data/TradisPlot/test.mapped.bam | |
191 | t/requires_external.t | |
192 | xt/author/00-compile.t | |
193 | xt/author/pod-syntax.t |
0 | { | |
1 | "abstract" : "Bio-Tradis contains a set of tools to analyse the output from TraDIS analyses. For more information on the TraDIS method, see http://genome.cshlp.org/content/19/12/2308", | |
2 | "author" : [ | |
3 | "Carla Cummins <path-help@sanger.ac.uk>" | |
4 | ], | |
5 | "dynamic_config" : 0, | |
6 | "generated_by" : "Dist::Zilla version 6.012, CPAN::Meta::Converter version 2.150010", | |
7 | "license" : [ | |
8 | "gpl_3" | |
9 | ], | |
10 | "meta-spec" : { | |
11 | "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec", | |
12 | "version" : 2 | |
13 | }, | |
14 | "name" : "Bio-Tradis", | |
15 | "no_index" : { | |
16 | "directory" : [ | |
17 | "eg", | |
18 | "examples", | |
19 | "inc", | |
20 | "share", | |
21 | "t", | |
22 | "xt" | |
23 | ] | |
24 | }, | |
25 | "prereqs" : { | |
26 | "configure" : { | |
27 | "requires" : { | |
28 | "ExtUtils::MakeMaker" : "0" | |
29 | } | |
30 | }, | |
31 | "develop" : { | |
32 | "requires" : { | |
33 | "File::Spec" : "0", | |
34 | "IO::Handle" : "0", | |
35 | "IPC::Open3" : "0", | |
36 | "Test::More" : "0", | |
37 | "Test::Pod" : "1.41", | |
38 | "perl" : "5.006" | |
39 | } | |
40 | }, | |
41 | "runtime" : { | |
42 | "requires" : { | |
43 | "Bio::Seq" : "0", | |
44 | "Bio::SeqIO" : "0", | |
45 | "Cwd" : "0", | |
46 | "Data::Dumper" : "0", | |
47 | "Exception::Class" : "0", | |
48 | "File::Basename" : "0", | |
49 | "File::Path" : "0", | |
50 | "File::Spec" : "0", | |
51 | "File::Temp" : "0", | |
52 | "FindBin" : "0", | |
53 | "Getopt::Long" : "0", | |
54 | "Moose" : "0", | |
55 | "Text::CSV" : "0", | |
56 | "Try::Tiny" : "0", | |
57 | "strict" : "0", | |
58 | "warnings" : "0" | |
59 | } | |
60 | }, | |
61 | "test" : { | |
62 | "recommends" : { | |
63 | "CPAN::Meta" : "2.120900" | |
64 | }, | |
65 | "requires" : { | |
66 | "Env::Path" : "0.18", | |
67 | "ExtUtils::MakeMaker" : "0", | |
68 | "File::Spec" : "0", | |
69 | "Test::Exception" : "0", | |
70 | "Test::Files" : "0", | |
71 | "Test::More" : "0", | |
72 | "Test::Most" : "0" | |
73 | } | |
74 | } | |
75 | }, | |
76 | "provides" : { | |
77 | "Bio::Tradis" : { | |
78 | "file" : "lib/Bio/Tradis.pm", | |
79 | "version" : "v1.4.5" | |
80 | }, | |
81 | "Bio::Tradis::AddTagsToSeq" : { | |
82 | "file" : "lib/Bio/Tradis/AddTagsToSeq.pm", | |
83 | "version" : "v1.4.5" | |
84 | }, | |
85 | "Bio::Tradis::Analysis::Exceptions" : { | |
86 | "file" : "lib/Bio/Tradis/Analysis/Exceptions.pm", | |
87 | "version" : "v1.4.5" | |
88 | }, | |
89 | "Bio::Tradis::Analysis::InsertSite" : { | |
90 | "file" : "lib/Bio/Tradis/Analysis/InsertSite.pm", | |
91 | "version" : "v1.4.5" | |
92 | }, | |
93 | "Bio::Tradis::CombinePlots" : { | |
94 | "file" : "lib/Bio/Tradis/CombinePlots.pm", | |
95 | "version" : "v1.4.5" | |
96 | }, | |
97 | "Bio::Tradis::CommandLine::AddTags" : { | |
98 | "file" : "lib/Bio/Tradis/CommandLine/AddTags.pm", | |
99 | "version" : "v1.4.5" | |
100 | }, | |
101 | "Bio::Tradis::CommandLine::CheckTags" : { | |
102 | "file" : "lib/Bio/Tradis/CommandLine/CheckTags.pm", | |
103 | "version" : "v1.4.5" | |
104 | }, | |
105 | "Bio::Tradis::CommandLine::FilterFastqTags" : { | |
106 | "file" : "lib/Bio/Tradis/CommandLine/FilterFastqTags.pm", | |
107 | "version" : "v1.4.5" | |
108 | }, | |
109 | "Bio::Tradis::CommandLine::PlotCombine" : { | |
110 | "file" : "lib/Bio/Tradis/CommandLine/PlotCombine.pm", | |
111 | "version" : "v1.4.5" | |
112 | }, | |
113 | "Bio::Tradis::CommandLine::PlotTradis" : { | |
114 | "file" : "lib/Bio/Tradis/CommandLine/PlotTradis.pm", | |
115 | "version" : "v1.4.5" | |
116 | }, | |
117 | "Bio::Tradis::CommandLine::RemoveFastqTags" : { | |
118 | "file" : "lib/Bio/Tradis/CommandLine/RemoveFastqTags.pm", | |
119 | "version" : "v1.4.5" | |
120 | }, | |
121 | "Bio::Tradis::CommandLine::RunMapping" : { | |
122 | "file" : "lib/Bio/Tradis/CommandLine/RunMapping.pm", | |
123 | "version" : "v1.4.5" | |
124 | }, | |
125 | "Bio::Tradis::CommandLine::TradisAnalysis" : { | |
126 | "file" : "lib/Bio/Tradis/CommandLine/TradisAnalysis.pm", | |
127 | "version" : "v1.4.5" | |
128 | }, | |
129 | "Bio::Tradis::CommandLine::TradisBam" : { | |
130 | "file" : "lib/Bio/Tradis/CommandLine/TradisBam.pm", | |
131 | "version" : "v1.4.5" | |
132 | }, | |
133 | "Bio::Tradis::DetectTags" : { | |
134 | "file" : "lib/Bio/Tradis/DetectTags.pm", | |
135 | "version" : "v1.4.5" | |
136 | }, | |
137 | "Bio::Tradis::Exception" : { | |
138 | "file" : "lib/Bio/Tradis/Exception.pm", | |
139 | "version" : "v1.4.5" | |
140 | }, | |
141 | "Bio::Tradis::FilterTags" : { | |
142 | "file" : "lib/Bio/Tradis/FilterTags.pm", | |
143 | "version" : "v1.4.5" | |
144 | }, | |
145 | "Bio::Tradis::Map" : { | |
146 | "file" : "lib/Bio/Tradis/Map.pm", | |
147 | "version" : "v1.4.5" | |
148 | }, | |
149 | "Bio::Tradis::Parser::Bam" : { | |
150 | "file" : "lib/Bio/Tradis/Parser/Bam.pm", | |
151 | "version" : "v1.4.5" | |
152 | }, | |
153 | "Bio::Tradis::Parser::Cigar" : { | |
154 | "file" : "lib/Bio/Tradis/Parser/Cigar.pm", | |
155 | "version" : "v1.4.5" | |
156 | }, | |
157 | "Bio::Tradis::Parser::Fastq" : { | |
158 | "file" : "lib/Bio/Tradis/Parser/Fastq.pm", | |
159 | "version" : "v1.4.5" | |
160 | }, | |
161 | "Bio::Tradis::RemoveTags" : { | |
162 | "file" : "lib/Bio/Tradis/RemoveTags.pm", | |
163 | "version" : "v1.4.5" | |
164 | }, | |
165 | "Bio::Tradis::RunTradis" : { | |
166 | "file" : "lib/Bio/Tradis/RunTradis.pm", | |
167 | "version" : "v1.4.5" | |
168 | }, | |
169 | "Bio::Tradis::Samtools" : { | |
170 | "file" : "lib/Bio/Tradis/Samtools.pm", | |
171 | "version" : "v1.4.5" | |
172 | }, | |
173 | "Bio::Tradis::TradisPlot" : { | |
174 | "file" : "lib/Bio/Tradis/TradisPlot.pm", | |
175 | "version" : "v1.4.5" | |
176 | } | |
177 | }, | |
178 | "release_status" : "stable", | |
179 | "resources" : { | |
180 | "homepage" : "http://www.sanger.ac.uk/", | |
181 | "repository" : { | |
182 | "type" : "git", | |
183 | "url" : "https://github.com/sanger-pathogens/Bio-Tradis.git", | |
184 | "web" : "https://github.com/sanger-pathogens/Bio-Tradis" | |
185 | } | |
186 | }, | |
187 | "version" : "1.4.5", | |
188 | "x_Dist_Zilla" : { | |
189 | "perl" : { | |
190 | "version" : "5.030000" | |
191 | }, | |
192 | "plugins" : [ | |
193 | { | |
194 | "class" : "Dist::Zilla::Plugin::MetaResources", | |
195 | "name" : "MetaResources", | |
196 | "version" : "6.012" | |
197 | }, | |
198 | { | |
199 | "class" : "Dist::Zilla::Plugin::RequiresExternal", | |
200 | "name" : "RequiresExternal", | |
201 | "version" : "1.008" | |
202 | }, | |
203 | { | |
204 | "class" : "Dist::Zilla::Plugin::Git::Check", | |
205 | "config" : { | |
206 | "Dist::Zilla::Plugin::Git::Check" : { | |
207 | "untracked_files" : "die" | |
208 | }, | |
209 | "Dist::Zilla::Role::Git::DirtyFiles" : { | |
210 | "allow_dirty" : [ | |
211 | "Changes", | |
212 | "dist.ini" | |
213 | ], | |
214 | "allow_dirty_match" : [], | |
215 | "changelog" : "Changes" | |
216 | }, | |
217 | "Dist::Zilla::Role::Git::Repo" : { | |
218 | "git_version" : "2.24.0", | |
219 | "repo_root" : "." | |
220 | } | |
221 | }, | |
222 | "name" : "@Git/Check", | |
223 | "version" : "2.046" | |
224 | }, | |
225 | { | |
226 | "class" : "Dist::Zilla::Plugin::Git::Commit", | |
227 | "config" : { | |
228 | "Dist::Zilla::Plugin::Git::Commit" : { | |
229 | "add_files_in" : [], | |
230 | "commit_msg" : "v%V%n%n%c" | |
231 | }, | |
232 | "Dist::Zilla::Role::Git::DirtyFiles" : { | |
233 | "allow_dirty" : [ | |
234 | "Changes", | |
235 | "dist.ini" | |
236 | ], | |
237 | "allow_dirty_match" : [], | |
238 | "changelog" : "Changes" | |
239 | }, | |
240 | "Dist::Zilla::Role::Git::Repo" : { | |
241 | "git_version" : "2.24.0", | |
242 | "repo_root" : "." | |
243 | }, | |
244 | "Dist::Zilla::Role::Git::StringFormatter" : { | |
245 | "time_zone" : "local" | |
246 | } | |
247 | }, | |
248 | "name" : "@Git/Commit", | |
249 | "version" : "2.046" | |
250 | }, | |
251 | { | |
252 | "class" : "Dist::Zilla::Plugin::Git::Tag", | |
253 | "config" : { | |
254 | "Dist::Zilla::Plugin::Git::Tag" : { | |
255 | "branch" : null, | |
256 | "changelog" : "Changes", | |
257 | "signed" : 0, | |
258 | "tag" : "v1.4.5", | |
259 | "tag_format" : "v%V", | |
260 | "tag_message" : "v%V" | |
261 | }, | |
262 | "Dist::Zilla::Role::Git::Repo" : { | |
263 | "git_version" : "2.24.0", | |
264 | "repo_root" : "." | |
265 | }, | |
266 | "Dist::Zilla::Role::Git::StringFormatter" : { | |
267 | "time_zone" : "local" | |
268 | } | |
269 | }, | |
270 | "name" : "@Git/Tag", | |
271 | "version" : "2.046" | |
272 | }, | |
273 | { | |
274 | "class" : "Dist::Zilla::Plugin::Git::Push", | |
275 | "config" : { | |
276 | "Dist::Zilla::Plugin::Git::Push" : { | |
277 | "push_to" : [ | |
278 | "origin" | |
279 | ], | |
280 | "remotes_must_exist" : 1 | |
281 | }, | |
282 | "Dist::Zilla::Role::Git::Repo" : { | |
283 | "git_version" : "2.24.0", | |
284 | "repo_root" : "." | |
285 | } | |
286 | }, | |
287 | "name" : "@Git/Push", | |
288 | "version" : "2.046" | |
289 | }, | |
290 | { | |
291 | "class" : "Dist::Zilla::Plugin::GatherDir", | |
292 | "config" : { | |
293 | "Dist::Zilla::Plugin::GatherDir" : { | |
294 | "exclude_filename" : [], | |
295 | "exclude_match" : [], | |
296 | "follow_symlinks" : 0, | |
297 | "include_dotfiles" : 0, | |
298 | "prefix" : "", | |
299 | "prune_directory" : [], | |
300 | "root" : "." | |
301 | } | |
302 | }, | |
303 | "name" : "@Starter/GatherDir", | |
304 | "version" : "6.012" | |
305 | }, | |
306 | { | |
307 | "class" : "Dist::Zilla::Plugin::MetaYAML", | |
308 | "name" : "@Starter/MetaYAML", | |
309 | "version" : "6.012" | |
310 | }, | |
311 | { | |
312 | "class" : "Dist::Zilla::Plugin::MetaJSON", | |
313 | "name" : "@Starter/MetaJSON", | |
314 | "version" : "6.012" | |
315 | }, | |
316 | { | |
317 | "class" : "Dist::Zilla::Plugin::License", | |
318 | "name" : "@Starter/License", | |
319 | "version" : "6.012" | |
320 | }, | |
321 | { | |
322 | "class" : "Dist::Zilla::Plugin::ReadmeAnyFromPod", | |
323 | "config" : { | |
324 | "Dist::Zilla::Role::FileWatcher" : { | |
325 | "version" : "0.006" | |
326 | } | |
327 | }, | |
328 | "name" : "@Starter/ReadmeAnyFromPod", | |
329 | "version" : "0.163250" | |
330 | }, | |
331 | { | |
332 | "class" : "Dist::Zilla::Plugin::PodSyntaxTests", | |
333 | "name" : "@Starter/PodSyntaxTests", | |
334 | "version" : "6.012" | |
335 | }, | |
336 | { | |
337 | "class" : "Dist::Zilla::Plugin::Test::ReportPrereqs", | |
338 | "name" : "@Starter/Test::ReportPrereqs", | |
339 | "version" : "0.027" | |
340 | }, | |
341 | { | |
342 | "class" : "Dist::Zilla::Plugin::Test::Compile", | |
343 | "config" : { | |
344 | "Dist::Zilla::Plugin::Test::Compile" : { | |
345 | "bail_out_on_fail" : 0, | |
346 | "fail_on_warning" : "author", | |
347 | "fake_home" : 0, | |
348 | "filename" : "xt/author/00-compile.t", | |
349 | "module_finder" : [ | |
350 | ":InstallModules" | |
351 | ], | |
352 | "needs_display" : 0, | |
353 | "phase" : "develop", | |
354 | "script_finder" : [ | |
355 | ":PerlExecFiles" | |
356 | ], | |
357 | "skips" : [], | |
358 | "switch" : [] | |
359 | } | |
360 | }, | |
361 | "name" : "@Starter/Test::Compile", | |
362 | "version" : "2.058" | |
363 | }, | |
364 | { | |
365 | "class" : "Dist::Zilla::Plugin::MakeMaker", | |
366 | "config" : { | |
367 | "Dist::Zilla::Role::TestRunner" : { | |
368 | "default_jobs" : 1 | |
369 | } | |
370 | }, | |
371 | "name" : "@Starter/MakeMaker", | |
372 | "version" : "6.012" | |
373 | }, | |
374 | { | |
375 | "class" : "Dist::Zilla::Plugin::Manifest", | |
376 | "name" : "@Starter/Manifest", | |
377 | "version" : "6.012" | |
378 | }, | |
379 | { | |
380 | "class" : "Dist::Zilla::Plugin::PruneCruft", | |
381 | "name" : "@Starter/PruneCruft", | |
382 | "version" : "6.012" | |
383 | }, | |
384 | { | |
385 | "class" : "Dist::Zilla::Plugin::ManifestSkip", | |
386 | "name" : "@Starter/ManifestSkip", | |
387 | "version" : "6.012" | |
388 | }, | |
389 | { | |
390 | "class" : "Dist::Zilla::Plugin::RunExtraTests", | |
391 | "config" : { | |
392 | "Dist::Zilla::Role::TestRunner" : { | |
393 | "default_jobs" : 1 | |
394 | } | |
395 | }, | |
396 | "name" : "@Starter/RunExtraTests", | |
397 | "version" : "0.029" | |
398 | }, | |
399 | { | |
400 | "class" : "Dist::Zilla::Plugin::TestRelease", | |
401 | "name" : "@Starter/TestRelease", | |
402 | "version" : "6.012" | |
403 | }, | |
404 | { | |
405 | "class" : "Dist::Zilla::Plugin::ConfirmRelease", | |
406 | "name" : "@Starter/ConfirmRelease", | |
407 | "version" : "6.012" | |
408 | }, | |
409 | { | |
410 | "class" : "Dist::Zilla::Plugin::UploadToCPAN", | |
411 | "name" : "@Starter/UploadToCPAN", | |
412 | "version" : "6.012" | |
413 | }, | |
414 | { | |
415 | "class" : "Dist::Zilla::Plugin::MetaConfig", | |
416 | "name" : "@Starter/MetaConfig", | |
417 | "version" : "6.012" | |
418 | }, | |
419 | { | |
420 | "class" : "Dist::Zilla::Plugin::MetaNoIndex", | |
421 | "name" : "@Starter/MetaNoIndex", | |
422 | "version" : "6.012" | |
423 | }, | |
424 | { | |
425 | "class" : "Dist::Zilla::Plugin::MetaProvides::Package", | |
426 | "config" : { | |
427 | "Dist::Zilla::Plugin::MetaProvides::Package" : { | |
428 | "finder_objects" : [ | |
429 | { | |
430 | "class" : "Dist::Zilla::Plugin::FinderCode", | |
431 | "name" : "@Starter/MetaProvides::Package/AUTOVIV/:InstallModulesPM", | |
432 | "version" : "6.012" | |
433 | } | |
434 | ], | |
435 | "include_underscores" : 0 | |
436 | }, | |
437 | "Dist::Zilla::Role::MetaProvider::Provider" : { | |
438 | "$Dist::Zilla::Role::MetaProvider::Provider::VERSION" : "2.002004", | |
439 | "inherit_missing" : 1, | |
440 | "inherit_version" : 1, | |
441 | "meta_noindex" : 1 | |
442 | }, | |
443 | "Dist::Zilla::Role::ModuleMetadata" : { | |
444 | "Module::Metadata" : "1.000036", | |
445 | "version" : "0.006" | |
446 | } | |
447 | }, | |
448 | "name" : "@Starter/MetaProvides::Package", | |
449 | "version" : "2.004003" | |
450 | }, | |
451 | { | |
452 | "class" : "Dist::Zilla::Plugin::ShareDir", | |
453 | "name" : "@Starter/ShareDir", | |
454 | "version" : "6.012" | |
455 | }, | |
456 | { | |
457 | "class" : "Dist::Zilla::Plugin::ExecDir", | |
458 | "name" : "@Starter/ExecDir", | |
459 | "version" : "6.012" | |
460 | }, | |
461 | { | |
462 | "class" : "Dist::Zilla::Plugin::RunExtraTests", | |
463 | "config" : { | |
464 | "Dist::Zilla::Role::TestRunner" : { | |
465 | "default_jobs" : 1 | |
466 | } | |
467 | }, | |
468 | "name" : "RunExtraTests", | |
469 | "version" : "0.029" | |
470 | }, | |
471 | { | |
472 | "class" : "Dist::Zilla::Plugin::AutoPrereqs", | |
473 | "name" : "AutoPrereqs", | |
474 | "version" : "6.012" | |
475 | }, | |
476 | { | |
477 | "class" : "Dist::Zilla::Plugin::FileFinder::ByName", | |
478 | "name" : "BinNotR", | |
479 | "version" : "6.012" | |
480 | }, | |
481 | { | |
482 | "class" : "Dist::Zilla::Plugin::PodWeaver", | |
483 | "config" : { | |
484 | "Dist::Zilla::Plugin::PodWeaver" : { | |
485 | "finder" : [ | |
486 | ":InstallModules", | |
487 | "BinNotR" | |
488 | ], | |
489 | "plugins" : [ | |
490 | { | |
491 | "class" : "Pod::Weaver::Plugin::EnsurePod5", | |
492 | "name" : "@CorePrep/EnsurePod5", | |
493 | "version" : "4.015" | |
494 | }, | |
495 | { | |
496 | "class" : "Pod::Weaver::Plugin::H1Nester", | |
497 | "name" : "@CorePrep/H1Nester", | |
498 | "version" : "4.015" | |
499 | }, | |
500 | { | |
501 | "class" : "Pod::Weaver::Plugin::SingleEncoding", | |
502 | "name" : "@Default/SingleEncoding", | |
503 | "version" : "4.015" | |
504 | }, | |
505 | { | |
506 | "class" : "Pod::Weaver::Section::Name", | |
507 | "name" : "@Default/Name", | |
508 | "version" : "4.015" | |
509 | }, | |
510 | { | |
511 | "class" : "Pod::Weaver::Section::Version", | |
512 | "name" : "@Default/Version", | |
513 | "version" : "4.015" | |
514 | }, | |
515 | { | |
516 | "class" : "Pod::Weaver::Section::Region", | |
517 | "name" : "@Default/prelude", | |
518 | "version" : "4.015" | |
519 | }, | |
520 | { | |
521 | "class" : "Pod::Weaver::Section::Generic", | |
522 | "name" : "SYNOPSIS", | |
523 | "version" : "4.015" | |
524 | }, | |
525 | { | |
526 | "class" : "Pod::Weaver::Section::Generic", | |
527 | "name" : "DESCRIPTION", | |
528 | "version" : "4.015" | |
529 | }, | |
530 | { | |
531 | "class" : "Pod::Weaver::Section::Generic", | |
532 | "name" : "OVERVIEW", | |
533 | "version" : "4.015" | |
534 | }, | |
535 | { | |
536 | "class" : "Pod::Weaver::Section::Collect", | |
537 | "name" : "ATTRIBUTES", | |
538 | "version" : "4.015" | |
539 | }, | |
540 | { | |
541 | "class" : "Pod::Weaver::Section::Collect", | |
542 | "name" : "METHODS", | |
543 | "version" : "4.015" | |
544 | }, | |
545 | { | |
546 | "class" : "Pod::Weaver::Section::Collect", | |
547 | "name" : "FUNCTIONS", | |
548 | "version" : "4.015" | |
549 | }, | |
550 | { | |
551 | "class" : "Pod::Weaver::Section::Leftovers", | |
552 | "name" : "@Default/Leftovers", | |
553 | "version" : "4.015" | |
554 | }, | |
555 | { | |
556 | "class" : "Pod::Weaver::Section::Region", | |
557 | "name" : "@Default/postlude", | |
558 | "version" : "4.015" | |
559 | }, | |
560 | { | |
561 | "class" : "Pod::Weaver::Section::Authors", | |
562 | "name" : "@Default/Authors", | |
563 | "version" : "4.015" | |
564 | }, | |
565 | { | |
566 | "class" : "Pod::Weaver::Section::Legal", | |
567 | "name" : "@Default/Legal", | |
568 | "version" : "4.015" | |
569 | } | |
570 | ] | |
571 | } | |
572 | }, | |
573 | "name" : "PodWeaver", | |
574 | "version" : "4.008" | |
575 | }, | |
576 | { | |
577 | "class" : "Dist::Zilla::Plugin::PkgVersion", | |
578 | "name" : "PkgVersion", | |
579 | "version" : "6.012" | |
580 | }, | |
581 | { | |
582 | "class" : "Dist::Zilla::Plugin::Encoding", | |
583 | "name" : "Encoding", | |
584 | "version" : "6.012" | |
585 | }, | |
586 | { | |
587 | "class" : "Dist::Zilla::Plugin::FinderCode", | |
588 | "name" : ":InstallModules", | |
589 | "version" : "6.012" | |
590 | }, | |
591 | { | |
592 | "class" : "Dist::Zilla::Plugin::FinderCode", | |
593 | "name" : ":IncModules", | |
594 | "version" : "6.012" | |
595 | }, | |
596 | { | |
597 | "class" : "Dist::Zilla::Plugin::FinderCode", | |
598 | "name" : ":TestFiles", | |
599 | "version" : "6.012" | |
600 | }, | |
601 | { | |
602 | "class" : "Dist::Zilla::Plugin::FinderCode", | |
603 | "name" : ":ExtraTestFiles", | |
604 | "version" : "6.012" | |
605 | }, | |
606 | { | |
607 | "class" : "Dist::Zilla::Plugin::FinderCode", | |
608 | "name" : ":ExecFiles", | |
609 | "version" : "6.012" | |
610 | }, | |
611 | { | |
612 | "class" : "Dist::Zilla::Plugin::FinderCode", | |
613 | "name" : ":PerlExecFiles", | |
614 | "version" : "6.012" | |
615 | }, | |
616 | { | |
617 | "class" : "Dist::Zilla::Plugin::FinderCode", | |
618 | "name" : ":ShareFiles", | |
619 | "version" : "6.012" | |
620 | }, | |
621 | { | |
622 | "class" : "Dist::Zilla::Plugin::FinderCode", | |
623 | "name" : ":MainModule", | |
624 | "version" : "6.012" | |
625 | }, | |
626 | { | |
627 | "class" : "Dist::Zilla::Plugin::FinderCode", | |
628 | "name" : ":AllFiles", | |
629 | "version" : "6.012" | |
630 | }, | |
631 | { | |
632 | "class" : "Dist::Zilla::Plugin::FinderCode", | |
633 | "name" : ":NoFiles", | |
634 | "version" : "6.012" | |
635 | }, | |
636 | { | |
637 | "class" : "Dist::Zilla::Plugin::FinderCode", | |
638 | "name" : "@Starter/MetaProvides::Package/AUTOVIV/:InstallModulesPM", | |
639 | "version" : "6.012" | |
640 | } | |
641 | ], | |
642 | "zilla" : { | |
643 | "class" : "Dist::Zilla::Dist::Builder", | |
644 | "config" : { | |
645 | "is_trial" : 0 | |
646 | }, | |
647 | "version" : "6.012" | |
648 | } | |
649 | }, | |
650 | "x_generated_by_perl" : "v5.30.0", | |
651 | "x_serialization_backend" : "Cpanel::JSON::XS version 4.17" | |
652 | } | |
653 |
0 | --- | |
1 | abstract: 'Bio-Tradis contains a set of tools to analyse the output from TraDIS analyses. For more information on the TraDIS method, see http://genome.cshlp.org/content/19/12/2308' | |
2 | author: | |
3 | - 'Carla Cummins <path-help@sanger.ac.uk>' | |
4 | build_requires: | |
5 | Env::Path: '0.18' | |
6 | ExtUtils::MakeMaker: '0' | |
7 | File::Spec: '0' | |
8 | Test::Exception: '0' | |
9 | Test::Files: '0' | |
10 | Test::More: '0' | |
11 | Test::Most: '0' | |
12 | configure_requires: | |
13 | ExtUtils::MakeMaker: '0' | |
14 | dynamic_config: 0 | |
15 | generated_by: 'Dist::Zilla version 6.012, CPAN::Meta::Converter version 2.150010' | |
16 | license: gpl | |
17 | meta-spec: | |
18 | url: http://module-build.sourceforge.net/META-spec-v1.4.html | |
19 | version: '1.4' | |
20 | name: Bio-Tradis | |
21 | no_index: | |
22 | directory: | |
23 | - eg | |
24 | - examples | |
25 | - inc | |
26 | - share | |
27 | - t | |
28 | - xt | |
29 | provides: | |
30 | Bio::Tradis: | |
31 | file: lib/Bio/Tradis.pm | |
32 | version: v1.4.5 | |
33 | Bio::Tradis::AddTagsToSeq: | |
34 | file: lib/Bio/Tradis/AddTagsToSeq.pm | |
35 | version: v1.4.5 | |
36 | Bio::Tradis::Analysis::Exceptions: | |
37 | file: lib/Bio/Tradis/Analysis/Exceptions.pm | |
38 | version: v1.4.5 | |
39 | Bio::Tradis::Analysis::InsertSite: | |
40 | file: lib/Bio/Tradis/Analysis/InsertSite.pm | |
41 | version: v1.4.5 | |
42 | Bio::Tradis::CombinePlots: | |
43 | file: lib/Bio/Tradis/CombinePlots.pm | |
44 | version: v1.4.5 | |
45 | Bio::Tradis::CommandLine::AddTags: | |
46 | file: lib/Bio/Tradis/CommandLine/AddTags.pm | |
47 | version: v1.4.5 | |
48 | Bio::Tradis::CommandLine::CheckTags: | |
49 | file: lib/Bio/Tradis/CommandLine/CheckTags.pm | |
50 | version: v1.4.5 | |
51 | Bio::Tradis::CommandLine::FilterFastqTags: | |
52 | file: lib/Bio/Tradis/CommandLine/FilterFastqTags.pm | |
53 | version: v1.4.5 | |
54 | Bio::Tradis::CommandLine::PlotCombine: | |
55 | file: lib/Bio/Tradis/CommandLine/PlotCombine.pm | |
56 | version: v1.4.5 | |
57 | Bio::Tradis::CommandLine::PlotTradis: | |
58 | file: lib/Bio/Tradis/CommandLine/PlotTradis.pm | |
59 | version: v1.4.5 | |
60 | Bio::Tradis::CommandLine::RemoveFastqTags: | |
61 | file: lib/Bio/Tradis/CommandLine/RemoveFastqTags.pm | |
62 | version: v1.4.5 | |
63 | Bio::Tradis::CommandLine::RunMapping: | |
64 | file: lib/Bio/Tradis/CommandLine/RunMapping.pm | |
65 | version: v1.4.5 | |
66 | Bio::Tradis::CommandLine::TradisAnalysis: | |
67 | file: lib/Bio/Tradis/CommandLine/TradisAnalysis.pm | |
68 | version: v1.4.5 | |
69 | Bio::Tradis::CommandLine::TradisBam: | |
70 | file: lib/Bio/Tradis/CommandLine/TradisBam.pm | |
71 | version: v1.4.5 | |
72 | Bio::Tradis::DetectTags: | |
73 | file: lib/Bio/Tradis/DetectTags.pm | |
74 | version: v1.4.5 | |
75 | Bio::Tradis::Exception: | |
76 | file: lib/Bio/Tradis/Exception.pm | |
77 | version: v1.4.5 | |
78 | Bio::Tradis::FilterTags: | |
79 | file: lib/Bio/Tradis/FilterTags.pm | |
80 | version: v1.4.5 | |
81 | Bio::Tradis::Map: | |
82 | file: lib/Bio/Tradis/Map.pm | |
83 | version: v1.4.5 | |
84 | Bio::Tradis::Parser::Bam: | |
85 | file: lib/Bio/Tradis/Parser/Bam.pm | |
86 | version: v1.4.5 | |
87 | Bio::Tradis::Parser::Cigar: | |
88 | file: lib/Bio/Tradis/Parser/Cigar.pm | |
89 | version: v1.4.5 | |
90 | Bio::Tradis::Parser::Fastq: | |
91 | file: lib/Bio/Tradis/Parser/Fastq.pm | |
92 | version: v1.4.5 | |
93 | Bio::Tradis::RemoveTags: | |
94 | file: lib/Bio/Tradis/RemoveTags.pm | |
95 | version: v1.4.5 | |
96 | Bio::Tradis::RunTradis: | |
97 | file: lib/Bio/Tradis/RunTradis.pm | |
98 | version: v1.4.5 | |
99 | Bio::Tradis::Samtools: | |
100 | file: lib/Bio/Tradis/Samtools.pm | |
101 | version: v1.4.5 | |
102 | Bio::Tradis::TradisPlot: | |
103 | file: lib/Bio/Tradis/TradisPlot.pm | |
104 | version: v1.4.5 | |
105 | requires: | |
106 | Bio::Seq: '0' | |
107 | Bio::SeqIO: '0' | |
108 | Cwd: '0' | |
109 | Data::Dumper: '0' | |
110 | Exception::Class: '0' | |
111 | File::Basename: '0' | |
112 | File::Path: '0' | |
113 | File::Spec: '0' | |
114 | File::Temp: '0' | |
115 | FindBin: '0' | |
116 | Getopt::Long: '0' | |
117 | Moose: '0' | |
118 | Text::CSV: '0' | |
119 | Try::Tiny: '0' | |
120 | strict: '0' | |
121 | warnings: '0' | |
122 | resources: | |
123 | homepage: http://www.sanger.ac.uk/ | |
124 | repository: https://github.com/sanger-pathogens/Bio-Tradis.git | |
125 | version: 1.4.5 | |
126 | x_Dist_Zilla: | |
127 | perl: | |
128 | version: '5.030000' | |
129 | plugins: | |
130 | - | |
131 | class: Dist::Zilla::Plugin::MetaResources | |
132 | name: MetaResources | |
133 | version: '6.012' | |
134 | - | |
135 | class: Dist::Zilla::Plugin::RequiresExternal | |
136 | name: RequiresExternal | |
137 | version: '1.008' | |
138 | - | |
139 | class: Dist::Zilla::Plugin::Git::Check | |
140 | config: | |
141 | Dist::Zilla::Plugin::Git::Check: | |
142 | untracked_files: die | |
143 | Dist::Zilla::Role::Git::DirtyFiles: | |
144 | allow_dirty: | |
145 | - Changes | |
146 | - dist.ini | |
147 | allow_dirty_match: [] | |
148 | changelog: Changes | |
149 | Dist::Zilla::Role::Git::Repo: | |
150 | git_version: 2.24.0 | |
151 | repo_root: . | |
152 | name: '@Git/Check' | |
153 | version: '2.046' | |
154 | - | |
155 | class: Dist::Zilla::Plugin::Git::Commit | |
156 | config: | |
157 | Dist::Zilla::Plugin::Git::Commit: | |
158 | add_files_in: [] | |
159 | commit_msg: v%V%n%n%c | |
160 | Dist::Zilla::Role::Git::DirtyFiles: | |
161 | allow_dirty: | |
162 | - Changes | |
163 | - dist.ini | |
164 | allow_dirty_match: [] | |
165 | changelog: Changes | |
166 | Dist::Zilla::Role::Git::Repo: | |
167 | git_version: 2.24.0 | |
168 | repo_root: . | |
169 | Dist::Zilla::Role::Git::StringFormatter: | |
170 | time_zone: local | |
171 | name: '@Git/Commit' | |
172 | version: '2.046' | |
173 | - | |
174 | class: Dist::Zilla::Plugin::Git::Tag | |
175 | config: | |
176 | Dist::Zilla::Plugin::Git::Tag: | |
177 | branch: ~ | |
178 | changelog: Changes | |
179 | signed: 0 | |
180 | tag: v1.4.5 | |
181 | tag_format: v%V | |
182 | tag_message: v%V | |
183 | Dist::Zilla::Role::Git::Repo: | |
184 | git_version: 2.24.0 | |
185 | repo_root: . | |
186 | Dist::Zilla::Role::Git::StringFormatter: | |
187 | time_zone: local | |
188 | name: '@Git/Tag' | |
189 | version: '2.046' | |
190 | - | |
191 | class: Dist::Zilla::Plugin::Git::Push | |
192 | config: | |
193 | Dist::Zilla::Plugin::Git::Push: | |
194 | push_to: | |
195 | - origin | |
196 | remotes_must_exist: 1 | |
197 | Dist::Zilla::Role::Git::Repo: | |
198 | git_version: 2.24.0 | |
199 | repo_root: . | |
200 | name: '@Git/Push' | |
201 | version: '2.046' | |
202 | - | |
203 | class: Dist::Zilla::Plugin::GatherDir | |
204 | config: | |
205 | Dist::Zilla::Plugin::GatherDir: | |
206 | exclude_filename: [] | |
207 | exclude_match: [] | |
208 | follow_symlinks: 0 | |
209 | include_dotfiles: 0 | |
210 | prefix: '' | |
211 | prune_directory: [] | |
212 | root: . | |
213 | name: '@Starter/GatherDir' | |
214 | version: '6.012' | |
215 | - | |
216 | class: Dist::Zilla::Plugin::MetaYAML | |
217 | name: '@Starter/MetaYAML' | |
218 | version: '6.012' | |
219 | - | |
220 | class: Dist::Zilla::Plugin::MetaJSON | |
221 | name: '@Starter/MetaJSON' | |
222 | version: '6.012' | |
223 | - | |
224 | class: Dist::Zilla::Plugin::License | |
225 | name: '@Starter/License' | |
226 | version: '6.012' | |
227 | - | |
228 | class: Dist::Zilla::Plugin::ReadmeAnyFromPod | |
229 | config: | |
230 | Dist::Zilla::Role::FileWatcher: | |
231 | version: '0.006' | |
232 | name: '@Starter/ReadmeAnyFromPod' | |
233 | version: '0.163250' | |
234 | - | |
235 | class: Dist::Zilla::Plugin::PodSyntaxTests | |
236 | name: '@Starter/PodSyntaxTests' | |
237 | version: '6.012' | |
238 | - | |
239 | class: Dist::Zilla::Plugin::Test::ReportPrereqs | |
240 | name: '@Starter/Test::ReportPrereqs' | |
241 | version: '0.027' | |
242 | - | |
243 | class: Dist::Zilla::Plugin::Test::Compile | |
244 | config: | |
245 | Dist::Zilla::Plugin::Test::Compile: | |
246 | bail_out_on_fail: '0' | |
247 | fail_on_warning: author | |
248 | fake_home: 0 | |
249 | filename: xt/author/00-compile.t | |
250 | module_finder: | |
251 | - ':InstallModules' | |
252 | needs_display: 0 | |
253 | phase: develop | |
254 | script_finder: | |
255 | - ':PerlExecFiles' | |
256 | skips: [] | |
257 | switch: [] | |
258 | name: '@Starter/Test::Compile' | |
259 | version: '2.058' | |
260 | - | |
261 | class: Dist::Zilla::Plugin::MakeMaker | |
262 | config: | |
263 | Dist::Zilla::Role::TestRunner: | |
264 | default_jobs: 1 | |
265 | name: '@Starter/MakeMaker' | |
266 | version: '6.012' | |
267 | - | |
268 | class: Dist::Zilla::Plugin::Manifest | |
269 | name: '@Starter/Manifest' | |
270 | version: '6.012' | |
271 | - | |
272 | class: Dist::Zilla::Plugin::PruneCruft | |
273 | name: '@Starter/PruneCruft' | |
274 | version: '6.012' | |
275 | - | |
276 | class: Dist::Zilla::Plugin::ManifestSkip | |
277 | name: '@Starter/ManifestSkip' | |
278 | version: '6.012' | |
279 | - | |
280 | class: Dist::Zilla::Plugin::RunExtraTests | |
281 | config: | |
282 | Dist::Zilla::Role::TestRunner: | |
283 | default_jobs: 1 | |
284 | name: '@Starter/RunExtraTests' | |
285 | version: '0.029' | |
286 | - | |
287 | class: Dist::Zilla::Plugin::TestRelease | |
288 | name: '@Starter/TestRelease' | |
289 | version: '6.012' | |
290 | - | |
291 | class: Dist::Zilla::Plugin::ConfirmRelease | |
292 | name: '@Starter/ConfirmRelease' | |
293 | version: '6.012' | |
294 | - | |
295 | class: Dist::Zilla::Plugin::UploadToCPAN | |
296 | name: '@Starter/UploadToCPAN' | |
297 | version: '6.012' | |
298 | - | |
299 | class: Dist::Zilla::Plugin::MetaConfig | |
300 | name: '@Starter/MetaConfig' | |
301 | version: '6.012' | |
302 | - | |
303 | class: Dist::Zilla::Plugin::MetaNoIndex | |
304 | name: '@Starter/MetaNoIndex' | |
305 | version: '6.012' | |
306 | - | |
307 | class: Dist::Zilla::Plugin::MetaProvides::Package | |
308 | config: | |
309 | Dist::Zilla::Plugin::MetaProvides::Package: | |
310 | finder_objects: | |
311 | - | |
312 | class: Dist::Zilla::Plugin::FinderCode | |
313 | name: '@Starter/MetaProvides::Package/AUTOVIV/:InstallModulesPM' | |
314 | version: '6.012' | |
315 | include_underscores: 0 | |
316 | Dist::Zilla::Role::MetaProvider::Provider: | |
317 | $Dist::Zilla::Role::MetaProvider::Provider::VERSION: '2.002004' | |
318 | inherit_missing: '1' | |
319 | inherit_version: '1' | |
320 | meta_noindex: '1' | |
321 | Dist::Zilla::Role::ModuleMetadata: | |
322 | Module::Metadata: '1.000036' | |
323 | version: '0.006' | |
324 | name: '@Starter/MetaProvides::Package' | |
325 | version: '2.004003' | |
326 | - | |
327 | class: Dist::Zilla::Plugin::ShareDir | |
328 | name: '@Starter/ShareDir' | |
329 | version: '6.012' | |
330 | - | |
331 | class: Dist::Zilla::Plugin::ExecDir | |
332 | name: '@Starter/ExecDir' | |
333 | version: '6.012' | |
334 | - | |
335 | class: Dist::Zilla::Plugin::RunExtraTests | |
336 | config: | |
337 | Dist::Zilla::Role::TestRunner: | |
338 | default_jobs: 1 | |
339 | name: RunExtraTests | |
340 | version: '0.029' | |
341 | - | |
342 | class: Dist::Zilla::Plugin::AutoPrereqs | |
343 | name: AutoPrereqs | |
344 | version: '6.012' | |
345 | - | |
346 | class: Dist::Zilla::Plugin::FileFinder::ByName | |
347 | name: BinNotR | |
348 | version: '6.012' | |
349 | - | |
350 | class: Dist::Zilla::Plugin::PodWeaver | |
351 | config: | |
352 | Dist::Zilla::Plugin::PodWeaver: | |
353 | finder: | |
354 | - ':InstallModules' | |
355 | - BinNotR | |
356 | plugins: | |
357 | - | |
358 | class: Pod::Weaver::Plugin::EnsurePod5 | |
359 | name: '@CorePrep/EnsurePod5' | |
360 | version: '4.015' | |
361 | - | |
362 | class: Pod::Weaver::Plugin::H1Nester | |
363 | name: '@CorePrep/H1Nester' | |
364 | version: '4.015' | |
365 | - | |
366 | class: Pod::Weaver::Plugin::SingleEncoding | |
367 | name: '@Default/SingleEncoding' | |
368 | version: '4.015' | |
369 | - | |
370 | class: Pod::Weaver::Section::Name | |
371 | name: '@Default/Name' | |
372 | version: '4.015' | |
373 | - | |
374 | class: Pod::Weaver::Section::Version | |
375 | name: '@Default/Version' | |
376 | version: '4.015' | |
377 | - | |
378 | class: Pod::Weaver::Section::Region | |
379 | name: '@Default/prelude' | |
380 | version: '4.015' | |
381 | - | |
382 | class: Pod::Weaver::Section::Generic | |
383 | name: SYNOPSIS | |
384 | version: '4.015' | |
385 | - | |
386 | class: Pod::Weaver::Section::Generic | |
387 | name: DESCRIPTION | |
388 | version: '4.015' | |
389 | - | |
390 | class: Pod::Weaver::Section::Generic | |
391 | name: OVERVIEW | |
392 | version: '4.015' | |
393 | - | |
394 | class: Pod::Weaver::Section::Collect | |
395 | name: ATTRIBUTES | |
396 | version: '4.015' | |
397 | - | |
398 | class: Pod::Weaver::Section::Collect | |
399 | name: METHODS | |
400 | version: '4.015' | |
401 | - | |
402 | class: Pod::Weaver::Section::Collect | |
403 | name: FUNCTIONS | |
404 | version: '4.015' | |
405 | - | |
406 | class: Pod::Weaver::Section::Leftovers | |
407 | name: '@Default/Leftovers' | |
408 | version: '4.015' | |
409 | - | |
410 | class: Pod::Weaver::Section::Region | |
411 | name: '@Default/postlude' | |
412 | version: '4.015' | |
413 | - | |
414 | class: Pod::Weaver::Section::Authors | |
415 | name: '@Default/Authors' | |
416 | version: '4.015' | |
417 | - | |
418 | class: Pod::Weaver::Section::Legal | |
419 | name: '@Default/Legal' | |
420 | version: '4.015' | |
421 | name: PodWeaver | |
422 | version: '4.008' | |
423 | - | |
424 | class: Dist::Zilla::Plugin::PkgVersion | |
425 | name: PkgVersion | |
426 | version: '6.012' | |
427 | - | |
428 | class: Dist::Zilla::Plugin::Encoding | |
429 | name: Encoding | |
430 | version: '6.012' | |
431 | - | |
432 | class: Dist::Zilla::Plugin::FinderCode | |
433 | name: ':InstallModules' | |
434 | version: '6.012' | |
435 | - | |
436 | class: Dist::Zilla::Plugin::FinderCode | |
437 | name: ':IncModules' | |
438 | version: '6.012' | |
439 | - | |
440 | class: Dist::Zilla::Plugin::FinderCode | |
441 | name: ':TestFiles' | |
442 | version: '6.012' | |
443 | - | |
444 | class: Dist::Zilla::Plugin::FinderCode | |
445 | name: ':ExtraTestFiles' | |
446 | version: '6.012' | |
447 | - | |
448 | class: Dist::Zilla::Plugin::FinderCode | |
449 | name: ':ExecFiles' | |
450 | version: '6.012' | |
451 | - | |
452 | class: Dist::Zilla::Plugin::FinderCode | |
453 | name: ':PerlExecFiles' | |
454 | version: '6.012' | |
455 | - | |
456 | class: Dist::Zilla::Plugin::FinderCode | |
457 | name: ':ShareFiles' | |
458 | version: '6.012' | |
459 | - | |
460 | class: Dist::Zilla::Plugin::FinderCode | |
461 | name: ':MainModule' | |
462 | version: '6.012' | |
463 | - | |
464 | class: Dist::Zilla::Plugin::FinderCode | |
465 | name: ':AllFiles' | |
466 | version: '6.012' | |
467 | - | |
468 | class: Dist::Zilla::Plugin::FinderCode | |
469 | name: ':NoFiles' | |
470 | version: '6.012' | |
471 | - | |
472 | class: Dist::Zilla::Plugin::FinderCode | |
473 | name: '@Starter/MetaProvides::Package/AUTOVIV/:InstallModulesPM' | |
474 | version: '6.012' | |
475 | zilla: | |
476 | class: Dist::Zilla::Dist::Builder | |
477 | config: | |
478 | is_trial: '0' | |
479 | version: '6.012' | |
480 | x_generated_by_perl: v5.30.0 | |
481 | x_serialization_backend: 'YAML::Tiny version 1.73' |
0 | # This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v6.012. | |
1 | use strict; | |
2 | use warnings; | |
3 | ||
4 | ||
5 | ||
6 | use ExtUtils::MakeMaker; | |
7 | ||
8 | my %WriteMakefileArgs = ( | |
9 | "ABSTRACT" => "Bio-Tradis contains a set of tools to analyse the output from TraDIS analyses. For more information on the TraDIS method, see http://genome.cshlp.org/content/19/12/2308", | |
10 | "AUTHOR" => "Carla Cummins <path-help\@sanger.ac.uk>", | |
11 | "CONFIGURE_REQUIRES" => { | |
12 | "ExtUtils::MakeMaker" => 0 | |
13 | }, | |
14 | "DISTNAME" => "Bio-Tradis", | |
15 | "EXE_FILES" => [ | |
16 | "bin/add_tradis_tags", | |
17 | "bin/bacteria_tradis", | |
18 | "bin/check_tradis_tags", | |
19 | "bin/combine_tradis_plots", | |
20 | "bin/filter_tradis_tags", | |
21 | "bin/remove_tradis_tags", | |
22 | "bin/tradis_comparison.R", | |
23 | "bin/tradis_essentiality.R", | |
24 | "bin/tradis_gene_insert_sites", | |
25 | "bin/tradis_merge_plots", | |
26 | "bin/tradis_plot" | |
27 | ], | |
28 | "LICENSE" => "gpl", | |
29 | "NAME" => "Bio::Tradis", | |
30 | "PREREQ_PM" => { | |
31 | "Bio::Seq" => 0, | |
32 | "Bio::SeqIO" => 0, | |
33 | "Cwd" => 0, | |
34 | "Data::Dumper" => 0, | |
35 | "Exception::Class" => 0, | |
36 | "File::Basename" => 0, | |
37 | "File::Path" => 0, | |
38 | "File::Spec" => 0, | |
39 | "File::Temp" => 0, | |
40 | "FindBin" => 0, | |
41 | "Getopt::Long" => 0, | |
42 | "Moose" => 0, | |
43 | "Text::CSV" => 0, | |
44 | "Try::Tiny" => 0, | |
45 | "strict" => 0, | |
46 | "warnings" => 0 | |
47 | }, | |
48 | "TEST_REQUIRES" => { | |
49 | "Env::Path" => "0.18", | |
50 | "ExtUtils::MakeMaker" => 0, | |
51 | "File::Spec" => 0, | |
52 | "Test::Exception" => 0, | |
53 | "Test::Files" => 0, | |
54 | "Test::More" => 0, | |
55 | "Test::Most" => 0 | |
56 | }, | |
57 | "VERSION" => "1.4.5", | |
58 | "test" => { | |
59 | "TESTS" => "t/*.t t/Bio/Tradis/*.t t/Bio/Tradis/Analysis/*.t t/Bio/Tradis/CommandLine/*.t t/Bio/Tradis/Parser/*.t" | |
60 | } | |
61 | ); | |
62 | ||
63 | ||
64 | my %FallbackPrereqs = ( | |
65 | "Bio::Seq" => 0, | |
66 | "Bio::SeqIO" => 0, | |
67 | "Cwd" => 0, | |
68 | "Data::Dumper" => 0, | |
69 | "Env::Path" => "0.18", | |
70 | "Exception::Class" => 0, | |
71 | "ExtUtils::MakeMaker" => 0, | |
72 | "File::Basename" => 0, | |
73 | "File::Path" => 0, | |
74 | "File::Spec" => 0, | |
75 | "File::Temp" => 0, | |
76 | "FindBin" => 0, | |
77 | "Getopt::Long" => 0, | |
78 | "Moose" => 0, | |
79 | "Test::Exception" => 0, | |
80 | "Test::Files" => 0, | |
81 | "Test::More" => 0, | |
82 | "Test::Most" => 0, | |
83 | "Text::CSV" => 0, | |
84 | "Try::Tiny" => 0, | |
85 | "strict" => 0, | |
86 | "warnings" => 0 | |
87 | ); | |
88 | ||
89 | ||
90 | unless ( eval { ExtUtils::MakeMaker->VERSION(6.63_03) } ) { | |
91 | delete $WriteMakefileArgs{TEST_REQUIRES}; | |
92 | delete $WriteMakefileArgs{BUILD_REQUIRES}; | |
93 | $WriteMakefileArgs{PREREQ_PM} = \%FallbackPrereqs; | |
94 | } | |
95 | ||
96 | delete $WriteMakefileArgs{CONFIGURE_REQUIRES} | |
97 | unless eval { ExtUtils::MakeMaker->VERSION(6.52) }; | |
98 | ||
99 | WriteMakefile(%WriteMakefileArgs); |
0 | NAME | |
1 | ||
2 | Bio::Tradis - Bio-Tradis contains a set of tools to analyse the output | |
3 | from TraDIS analyses. For more information on the TraDIS method, see | |
4 | http://genome.cshlp.org/content/19/12/2308 | |
5 | ||
6 | VERSION | |
7 | ||
8 | version 1.4.5 | |
9 | ||
10 | SYNOPSIS | |
11 | ||
12 | Bio-Tradis provides functionality to: | |
13 | ||
14 | * detect TraDIS tags in a BAM file - Bio::Tradis::DetectTags | |
15 | ||
16 | * add the tags to the reads - Bio::Tradis::AddTagsToSeq | |
17 | ||
18 | * filter reads in a FastQ file containing a user defined tag - | |
19 | Bio::Tradis::FilterTags | |
20 | ||
21 | * remove tags - Bio::Tradis::RemoveTags | |
22 | ||
23 | * map to a reference genome - Bio::Tradis::Map | |
24 | ||
25 | * create an insertion site plot file - Bio::Tradis::TradisPlot | |
26 | ||
27 | Most of these functions are available as standalone scripts or as perl | |
28 | modules. | |
29 | ||
30 | AUTHOR | |
31 | ||
32 | Carla Cummins <path-help@sanger.ac.uk> | |
33 | ||
34 | COPYRIGHT AND LICENSE | |
35 | ||
36 | This software is Copyright (c) 2013 by Wellcome Trust Sanger Institute. | |
37 | ||
38 | This is free software, licensed under: | |
39 | ||
40 | The GNU General Public License, Version 3, June 2007 | |
41 |
0 | 0 | #!/usr/bin/env perl |
1 | 1 | |
2 | 2 | package Bio::Tradis::Bin::DetectTags; |
3 | $Bio::Tradis::Bin::DetectTags::VERSION = '1.4.5'; | |
3 | 4 | use FindBin qw($Bin); |
4 | 5 | |
5 | 6 | # ABSTRACT: check if tr tag is present |
6 | 7 | # PODNAME: check_tags |
7 | 8 | |
8 | =head1 SYNOPSIS | |
9 | ||
10 | Checks the presence of tr/tq tags in a given BAM file | |
11 | ||
12 | =cut | |
13 | 9 | |
14 | 10 | BEGIN { unshift( @INC, '../lib' ) } |
15 | 11 | BEGIN { unshift( @INC, './lib' ) } |
19 | 15 | use Bio::Tradis::CommandLine::AddTags; |
20 | 16 | |
21 | 17 | Bio::Tradis::CommandLine::AddTags->new(args => \@ARGV, script_name => $0)->run; |
18 | ||
19 | __END__ | |
20 | ||
21 | =pod | |
22 | ||
23 | =encoding UTF-8 | |
24 | ||
25 | =head1 NAME | |
26 | ||
27 | check_tags - check if tr tag is present | |
28 | ||
29 | =head1 VERSION | |
30 | ||
31 | version 1.4.5 | |
32 | ||
33 | =head1 SYNOPSIS | |
34 | ||
35 | Checks the presence of tr/tq tags in a given BAM file | |
36 | ||
37 | =head1 AUTHOR | |
38 | ||
39 | Carla Cummins <path-help@sanger.ac.uk> | |
40 | ||
41 | =head1 COPYRIGHT AND LICENSE | |
42 | ||
43 | This software is Copyright (c) 2013 by Wellcome Trust Sanger Institute. | |
44 | ||
45 | This is free software, licensed under: | |
46 | ||
47 | The GNU General Public License, Version 3, June 2007 | |
48 | ||
49 | =cut |
0 | 0 | #!/usr/bin/env perl |
1 | 1 | |
2 | 2 | package Bio::Tradis::Bin::RunTradis; |
3 | ||
3 | $Bio::Tradis::Bin::RunTradis::VERSION = '1.4.5'; | |
4 | 4 | use FindBin qw($Bin); |
5 | 5 | |
6 | 6 | |
7 | 7 | # ABSTRACT: Perform full tradis analysis |
8 | 8 | # PODNAME: run_tradis |
9 | 9 | |
10 | =head1 SYNOPSIS | |
11 | ||
12 | Take a fastq, reference and a tag and generates insertion | |
13 | site plots for use in Artemis | |
14 | ||
15 | =cut | |
16 | 10 | |
17 | 11 | BEGIN { unshift( @INC, '../lib' ) } |
18 | 12 | BEGIN { unshift( @INC, './lib' ) } |
22 | 16 | use Bio::Tradis::CommandLine::TradisAnalysis; |
23 | 17 | |
24 | 18 | Bio::Tradis::CommandLine::TradisAnalysis->new(args => \@ARGV, script_name => $0)->run; |
19 | ||
20 | __END__ | |
21 | ||
22 | =pod | |
23 | ||
24 | =encoding UTF-8 | |
25 | ||
26 | =head1 NAME | |
27 | ||
28 | run_tradis - Perform full tradis analysis | |
29 | ||
30 | =head1 VERSION | |
31 | ||
32 | version 1.4.5 | |
33 | ||
34 | =head1 SYNOPSIS | |
35 | ||
36 | Take a fastq, reference and a tag and generates insertion | |
37 | site plots for use in Artemis | |
38 | ||
39 | =head1 AUTHOR | |
40 | ||
41 | Carla Cummins <path-help@sanger.ac.uk> | |
42 | ||
43 | =head1 COPYRIGHT AND LICENSE | |
44 | ||
45 | This software is Copyright (c) 2013 by Wellcome Trust Sanger Institute. | |
46 | ||
47 | This is free software, licensed under: | |
48 | ||
49 | The GNU General Public License, Version 3, June 2007 | |
50 | ||
51 | =cut |
0 | 0 | #!/usr/bin/env perl |
1 | 1 | |
2 | 2 | package Bio::Tradis::Bin::DetectTags; |
3 | $Bio::Tradis::Bin::DetectTags::VERSION = '1.4.5'; | |
3 | 4 | use FindBin qw($Bin); |
4 | 5 | |
5 | 6 | # ABSTRACT: check if tr tag is present |
6 | 7 | # PODNAME: check_tags |
7 | 8 | |
8 | =head1 SYNOPSIS | |
9 | ||
10 | Checks the presence of tr/tq tags in a given BAM file | |
11 | ||
12 | =cut | |
13 | 9 | |
14 | 10 | BEGIN { unshift( @INC, '../lib' ) } |
15 | 11 | BEGIN { unshift( @INC, './lib' ) } |
19 | 15 | use Bio::Tradis::CommandLine::CheckTags; |
20 | 16 | |
21 | 17 | Bio::Tradis::CommandLine::CheckTags->new(args => \@ARGV, script_name => $0)->run; |
18 | ||
19 | __END__ | |
20 | ||
21 | =pod | |
22 | ||
23 | =encoding UTF-8 | |
24 | ||
25 | =head1 NAME | |
26 | ||
27 | check_tags - check if tr tag is present | |
28 | ||
29 | =head1 VERSION | |
30 | ||
31 | version 1.4.5 | |
32 | ||
33 | =head1 SYNOPSIS | |
34 | ||
35 | Checks the presence of tr/tq tags in a given BAM file | |
36 | ||
37 | =head1 AUTHOR | |
38 | ||
39 | Carla Cummins <path-help@sanger.ac.uk> | |
40 | ||
41 | =head1 COPYRIGHT AND LICENSE | |
42 | ||
43 | This software is Copyright (c) 2013 by Wellcome Trust Sanger Institute. | |
44 | ||
45 | This is free software, licensed under: | |
46 | ||
47 | The GNU General Public License, Version 3, June 2007 | |
48 | ||
49 | =cut |
0 | 0 | #!/usr/bin/env perl |
1 | 1 | |
2 | 2 | package Bio::Tradis::Bin::CombineTradisPlots; |
3 | $Bio::Tradis::Bin::CombineTradisPlots::VERSION = '1.4.5'; | |
3 | 4 | use FindBin qw($Bin); |
4 | 5 | |
5 | 6 | # ABSTRACT: Combine multiple plotfiles and generate updated statistics for the combined files |
6 | 7 | |
7 | 8 | # PODNAME: combine_tradis_plot |
8 | 9 | |
9 | =head1 SYNOPSIS | |
10 | ||
11 | Takes a tab-delimited file with an ID as the first column followed by | |
12 | a list of plotfiles to combine per row. The ID will be used to name the new | |
13 | plotfile and as an identifier in the stats file, so ensure these are unique. | |
14 | ||
15 | =cut | |
16 | 10 | |
17 | 11 | BEGIN { unshift( @INC, '../lib' ) } |
18 | 12 | BEGIN { unshift( @INC, './lib' ) } |
22 | 16 | use Bio::Tradis::CommandLine::PlotCombine; |
23 | 17 | |
24 | 18 | Bio::Tradis::CommandLine::PlotCombine->new(args => \@ARGV, script_name => $0)->run; |
19 | ||
20 | __END__ | |
21 | ||
22 | =pod | |
23 | ||
24 | =encoding UTF-8 | |
25 | ||
26 | =head1 NAME | |
27 | ||
28 | combine_tradis_plot - Combine multiple plotfiles and generate updated statistics for the combined files | |
29 | ||
30 | =head1 VERSION | |
31 | ||
32 | version 1.4.5 | |
33 | ||
34 | =head1 SYNOPSIS | |
35 | ||
36 | Takes a tab-delimited file with an ID as the first column followed by | |
37 | a list of plotfiles to combine per row. The ID will be used to name the new | |
38 | plotfile and as an identifier in the stats file, so ensure these are unique. | |
39 | ||
40 | =head1 AUTHOR | |
41 | ||
42 | Carla Cummins <path-help@sanger.ac.uk> | |
43 | ||
44 | =head1 COPYRIGHT AND LICENSE | |
45 | ||
46 | This software is Copyright (c) 2013 by Wellcome Trust Sanger Institute. | |
47 | ||
48 | This is free software, licensed under: | |
49 | ||
50 | The GNU General Public License, Version 3, June 2007 | |
51 | ||
52 | =cut |
0 | 0 | #!/usr/bin/env perl |
1 | 1 | |
2 | 2 | package Bio::Tradis::Bin::FilterTags; |
3 | $Bio::Tradis::Bin::FilterTags::VERSION = '1.4.5'; | |
3 | 4 | use FindBin qw($Bin); |
4 | 5 | |
5 | 6 | # ABSTRACT: filter tags at start of fastq sequences |
6 | 7 | # PODNAME: filter_tags |
7 | 8 | |
8 | =head1 SYNOPSIS | |
9 | ||
10 | Checks tags at the start of the fastq sequence and returns a file containing those that | |
11 | match the tag provided | |
12 | ||
13 | =cut | |
14 | 9 | |
15 | 10 | BEGIN { unshift( @INC, '../lib' ) } |
16 | 11 | BEGIN { unshift( @INC, './lib' ) } |
20 | 15 | use Bio::Tradis::CommandLine::FilterFastqTags; |
21 | 16 | |
22 | 17 | Bio::Tradis::CommandLine::FilterFastqTags->new(args => \@ARGV, script_name => $0)->run; |
18 | ||
19 | __END__ | |
20 | ||
21 | =pod | |
22 | ||
23 | =encoding UTF-8 | |
24 | ||
25 | =head1 NAME | |
26 | ||
27 | filter_tags - filter tags at start of fastq sequences | |
28 | ||
29 | =head1 VERSION | |
30 | ||
31 | version 1.4.5 | |
32 | ||
33 | =head1 SYNOPSIS | |
34 | ||
35 | Checks tags at the start of the fastq sequence and returns a file containing those that | |
36 | match the tag provided | |
37 | ||
38 | =head1 AUTHOR | |
39 | ||
40 | Carla Cummins <path-help@sanger.ac.uk> | |
41 | ||
42 | =head1 COPYRIGHT AND LICENSE | |
43 | ||
44 | This software is Copyright (c) 2013 by Wellcome Trust Sanger Institute. | |
45 | ||
46 | This is free software, licensed under: | |
47 | ||
48 | The GNU General Public License, Version 3, June 2007 | |
49 | ||
50 | =cut |
0 | 0 | #!/usr/bin/env perl |
1 | 1 | |
2 | 2 | package Bio::Tradis::Bin::RemoveTags; |
3 | $Bio::Tradis::Bin::RemoveTags::VERSION = '1.4.5'; | |
3 | 4 | use FindBin qw($Bin); |
4 | 5 | |
5 | 6 | # ABSTRACT: remove user specified tags from start of fastq sequences |
6 | 7 | # PODNAME: remove_tags |
7 | 8 | |
8 | =head1 SYNOPSIS | |
9 | ||
10 | Removes tags from the sequence and quality strings based on user input | |
11 | ||
12 | =cut | |
13 | 9 | |
14 | 10 | BEGIN { unshift( @INC, '../lib' ) } |
15 | 11 | BEGIN { unshift( @INC, './lib' ) } |
19 | 15 | use Bio::Tradis::CommandLine::RemoveFastqTags; |
20 | 16 | |
21 | 17 | Bio::Tradis::CommandLine::RemoveFastqTags->new(args => \@ARGV, script_name => $0)->run; |
18 | ||
19 | __END__ | |
20 | ||
21 | =pod | |
22 | ||
23 | =encoding UTF-8 | |
24 | ||
25 | =head1 NAME | |
26 | ||
27 | remove_tags - remove user specified tags from start of fastq sequences | |
28 | ||
29 | =head1 VERSION | |
30 | ||
31 | version 1.4.5 | |
32 | ||
33 | =head1 SYNOPSIS | |
34 | ||
35 | Removes tags from the sequence and quality strings based on user input | |
36 | ||
37 | =head1 AUTHOR | |
38 | ||
39 | Carla Cummins <path-help@sanger.ac.uk> | |
40 | ||
41 | =head1 COPYRIGHT AND LICENSE | |
42 | ||
43 | This software is Copyright (c) 2013 by Wellcome Trust Sanger Institute. | |
44 | ||
45 | This is free software, licensed under: | |
46 | ||
47 | The GNU General Public License, Version 3, June 2007 | |
48 | ||
49 | =cut |
0 | 0 | #!/usr/bin/env perl |
1 | 1 | |
2 | 2 | package Bio::Tradis::Bin::GeneInsertSites; |
3 | $Bio::Tradis::Bin::GeneInsertSites::VERSION = '1.4.5'; | |
3 | 4 | use FindBin qw($Bin); |
4 | 5 | |
5 | 6 | # ABSTRACT: Generate insertion site details from TraDIS pipeline plots |
6 | 7 | |
7 | 8 | # PODNAME: tradis_gene_insert_sites |
8 | 9 | |
9 | =head1 NAME | |
10 | ||
11 | tradis_gene_insert_sites.pl | |
12 | ||
13 | =head1 SYNOPSIS | |
14 | ||
15 | =head1 DESCRIPTION | |
16 | ||
17 | This script is for TRADIS analysis. It takes in a plot file created by the TRADIS pathogen informatics pipeline, and an embl file of | |
18 | annotation. | |
19 | It then outputs a tab delimited file with the insert site details. This is then used as input to an R script to calculate essentialit | |
20 | y. | |
21 | ||
22 | =head1 CONTACT | |
23 | ||
24 | path-help@sanger.ac.uk | |
25 | Original author: Lars Barquist | |
26 | ||
27 | =head1 METHODS | |
28 | ||
29 | =cut | |
30 | 10 | |
31 | 11 | use strict; |
32 | 12 | use warnings; |
327 | 307 | { |
328 | 308 | ['locus_tag','gene_name','ncrna','start','end','strand','read_count','ins_index','gene_length','ins_count','fcn']; |
329 | 309 | } |
310 | ||
311 | __END__ | |
312 | ||
313 | =pod | |
314 | ||
315 | =encoding UTF-8 | |
316 | ||
317 | =head1 NAME | |
318 | ||
319 | tradis_gene_insert_sites - Generate insertion site details from TraDIS pipeline plots | |
320 | ||
321 | =head1 VERSION | |
322 | ||
323 | version 1.4.5 | |
324 | ||
325 | =head1 SYNOPSIS | |
326 | ||
327 | =head1 DESCRIPTION | |
328 | ||
329 | This script is for TRADIS analysis. It takes in a plot file created by the TRADIS pathogen informatics pipeline, and an embl file of | |
330 | annotation. | |
331 | It then outputs a tab delimited file with the insert site details. This is then used as input to an R script to calculate essentialit | |
332 | y. | |
333 | ||
334 | =head1 NAME | |
335 | ||
336 | tradis_gene_insert_sites.pl | |
337 | ||
338 | =head1 CONTACT | |
339 | ||
340 | path-help@sanger.ac.uk | |
341 | Original author: Lars Barquist | |
342 | ||
343 | =head1 METHODS | |
344 | ||
345 | =head1 AUTHOR | |
346 | ||
347 | Carla Cummins <path-help@sanger.ac.uk> | |
348 | ||
349 | =head1 COPYRIGHT AND LICENSE | |
350 | ||
351 | This software is Copyright (c) 2013 by Wellcome Trust Sanger Institute. | |
352 | ||
353 | This is free software, licensed under: | |
354 | ||
355 | The GNU General Public License, Version 3, June 2007 | |
356 | ||
357 | =cut |
0 | 0 | #!/usr/bin/env perl |
1 | 1 | |
2 | 2 | package Bio::Tradis::Bin::MergePlots; |
3 | $Bio::Tradis::Bin::MergePlots::VERSION = '1.4.5'; | |
3 | 4 | use FindBin qw($Bin); |
4 | 5 | |
5 | 6 | # ABSTRACT: |
6 | 7 | |
7 | 8 | # PODNAME: tradis_merge_plots |
8 | 9 | |
9 | =head1 NAME | |
10 | ||
11 | tradis_merge_plots | |
12 | ||
13 | =head1 SYNOPSIS | |
14 | ||
15 | tradis_merge_plots - Given a study name or ID, group by sample and tag, and generate tab files for input to R. | |
16 | ||
17 | =head1 DESCRIPTION | |
18 | ||
19 | Given a study name or ID, group by sample and tag, and generate tab files for input to R. | |
20 | ||
21 | =head1 CONTACT | |
22 | ||
23 | path-help@sanger.ac.uk | |
24 | ||
25 | =head1 METHODS | |
26 | ||
27 | =cut | |
28 | 10 | |
29 | 11 | package TraDISMergePlots::Main; |
30 | ||
12 | $TraDISMergePlots::Main::VERSION = '1.4.5'; | |
31 | 13 | use Moose; |
32 | 14 | use Getopt::Long; |
33 | 15 | use File::Basename; |
96 | 78 | } |
97 | 79 | } |
98 | 80 | } |
81 | ||
82 | __END__ | |
83 | ||
84 | =pod | |
85 | ||
86 | =encoding UTF-8 | |
87 | ||
88 | =head1 NAME | |
89 | ||
90 | tradis_merge_plots - | |
91 | ||
92 | =head1 VERSION | |
93 | ||
94 | version 1.4.5 | |
95 | ||
96 | =head1 SYNOPSIS | |
97 | ||
98 | tradis_merge_plots - Given a study name or ID, group by sample and tag, and generate tab files for input to R. | |
99 | ||
100 | =head1 DESCRIPTION | |
101 | ||
102 | Given a study name or ID, group by sample and tag, and generate tab files for input to R. | |
103 | ||
104 | =head1 NAME | |
105 | ||
106 | tradis_merge_plots | |
107 | ||
108 | =head1 CONTACT | |
109 | ||
110 | path-help@sanger.ac.uk | |
111 | ||
112 | =head1 METHODS | |
113 | ||
114 | =head1 AUTHOR | |
115 | ||
116 | Carla Cummins <path-help@sanger.ac.uk> | |
117 | ||
118 | =head1 COPYRIGHT AND LICENSE | |
119 | ||
120 | This software is Copyright (c) 2013 by Wellcome Trust Sanger Institute. | |
121 | ||
122 | This is free software, licensed under: | |
123 | ||
124 | The GNU General Public License, Version 3, June 2007 | |
125 | ||
126 | =cut |
0 | 0 | #!/usr/bin/env perl |
1 | 1 | |
2 | 2 | package Bio::Tradis::Bin::TradisPlot; |
3 | $Bio::Tradis::Bin::TradisPlot::VERSION = '1.4.5'; | |
3 | 4 | use FindBin qw($Bin); |
4 | 5 | |
5 | 6 | # ABSTRACT: Generate plots as part of a tradis analysis |
6 | 7 | # PODNAME: tradis_plot |
7 | 8 | |
8 | =head1 SYNOPSIS | |
9 | ||
10 | Generate insertion plots for Artemis from a mapped fastq file and | |
11 | a reference in GFF format | |
12 | ||
13 | =cut | |
14 | 9 | |
15 | 10 | BEGIN { unshift( @INC, '../lib' ) } |
16 | 11 | BEGIN { unshift( @INC, './lib' ) } |
20 | 15 | use Bio::Tradis::CommandLine::PlotTradis; |
21 | 16 | |
22 | 17 | Bio::Tradis::CommandLine::PlotTradis->new(args => \@ARGV, script_name => $0)->run; |
18 | ||
19 | __END__ | |
20 | ||
21 | =pod | |
22 | ||
23 | =encoding UTF-8 | |
24 | ||
25 | =head1 NAME | |
26 | ||
27 | tradis_plot - Generate plots as part of a tradis analysis | |
28 | ||
29 | =head1 VERSION | |
30 | ||
31 | version 1.4.5 | |
32 | ||
33 | =head1 SYNOPSIS | |
34 | ||
35 | Generate insertion plots for Artemis from a mapped fastq file and | |
36 | a reference in GFF format | |
37 | ||
38 | =head1 AUTHOR | |
39 | ||
40 | Carla Cummins <path-help@sanger.ac.uk> | |
41 | ||
42 | =head1 COPYRIGHT AND LICENSE | |
43 | ||
44 | This software is Copyright (c) 2013 by Wellcome Trust Sanger Institute. | |
45 | ||
46 | This is free software, licensed under: | |
47 | ||
48 | The GNU General Public License, Version 3, June 2007 | |
49 | ||
50 | =cut |
0 | 0 | package Bio::Tradis::AddTagsToSeq; |
1 | ||
1 | $Bio::Tradis::AddTagsToSeq::VERSION = '1.4.5'; | |
2 | 2 | # ABSTRACT: Takes a BAM file and creates a new BAM with tr and tq tags added to the sequence and quality strings. |
3 | 3 | |
4 | =head1 NAME | |
5 | ||
6 | Bio::Tradis::AddTagsToSeq | |
7 | ||
8 | =head1 SYNOPSIS | |
9 | ||
10 | Bio::Tradis::AddTagsToSeq parses BAM files, adds given tags to the start of the sequence and creates temporary SAM file, | |
11 | which is then converted to BAM | |
12 | ||
13 | use Bio::Tradis::AddTagsToSeq; | |
14 | ||
15 | my $pipeline = Bio::Tradis::AddTagsToSeq->new(bamfile => 'abc'); | |
16 | $pipeline->add_tags_to_seq(); | |
17 | ||
18 | =head1 PARAMETERS | |
19 | ||
20 | =head2 Required | |
21 | ||
22 | C<bamfile> - path to/name of file containing reads and tags | |
23 | ||
24 | =head2 Optional | |
25 | ||
26 | C<outfile> - name to assign to output BAM. Defaults to C<file.tr.bam> for an input file named C<file.bam> | |
27 | ||
28 | =head1 METHODS | |
29 | ||
30 | C<add_tags_to_seq> - add TraDIS tags to reads. For unmapped reads, the tag | |
31 | is added to the start of the read sequence and quality | |
32 | strings. For reads where the flag indicates that it is | |
33 | mapped and reverse complemented, the reverse complemented | |
34 | tags are added to the end of the read strings. | |
35 | This is because many conversion tools (e.g. picard) takes | |
36 | the read orientation into account and will re-reverse the | |
37 | mapped/rev comp reads during conversion, leaving all tags | |
38 | in the correct orientation at the start of the sequences | |
39 | in the resulting FastQ file. | |
40 | ||
41 | =cut | |
42 | 4 | |
43 | 5 | use Moose; |
44 | 6 | use Bio::Seq; |
205 | 167 | __PACKAGE__->meta->make_immutable; |
206 | 168 | no Moose; |
207 | 169 | 1; |
170 | ||
171 | __END__ | |
172 | ||
173 | =pod | |
174 | ||
175 | =encoding UTF-8 | |
176 | ||
177 | =head1 NAME | |
178 | ||
179 | Bio::Tradis::AddTagsToSeq - Takes a BAM file and creates a new BAM with tr and tq tags added to the sequence and quality strings. | |
180 | ||
181 | =head1 VERSION | |
182 | ||
183 | version 1.4.5 | |
184 | ||
185 | =head1 SYNOPSIS | |
186 | ||
187 | Bio::Tradis::AddTagsToSeq parses BAM files, adds given tags to the start of the sequence and creates temporary SAM file, | |
188 | which is then converted to BAM | |
189 | ||
190 | use Bio::Tradis::AddTagsToSeq; | |
191 | ||
192 | my $pipeline = Bio::Tradis::AddTagsToSeq->new(bamfile => 'abc'); | |
193 | $pipeline->add_tags_to_seq(); | |
194 | ||
195 | =head1 NAME | |
196 | ||
197 | Bio::Tradis::AddTagsToSeq | |
198 | ||
199 | =head1 PARAMETERS | |
200 | ||
201 | =head2 Required | |
202 | ||
203 | C<bamfile> - path to/name of file containing reads and tags | |
204 | ||
205 | =head2 Optional | |
206 | ||
207 | C<outfile> - name to assign to output BAM. Defaults to C<file.tr.bam> for an input file named C<file.bam> | |
208 | ||
209 | =head1 METHODS | |
210 | ||
211 | C<add_tags_to_seq> - add TraDIS tags to reads. For unmapped reads, the tag | |
212 | is added to the start of the read sequence and quality | |
213 | strings. For reads where the flag indicates that it is | |
214 | mapped and reverse complemented, the reverse complemented | |
215 | tags are added to the end of the read strings. | |
216 | This is because many conversion tools (e.g. picard) takes | |
217 | the read orientation into account and will re-reverse the | |
218 | mapped/rev comp reads during conversion, leaving all tags | |
219 | in the correct orientation at the start of the sequences | |
220 | in the resulting FastQ file. | |
221 | ||
222 | =head1 AUTHOR | |
223 | ||
224 | Carla Cummins <path-help@sanger.ac.uk> | |
225 | ||
226 | =head1 COPYRIGHT AND LICENSE | |
227 | ||
228 | This software is Copyright (c) 2013 by Wellcome Trust Sanger Institute. | |
229 | ||
230 | This is free software, licensed under: | |
231 | ||
232 | The GNU General Public License, Version 3, June 2007 | |
233 | ||
234 | =cut |
0 | 0 | package Bio::Tradis::Analysis::Exceptions; |
1 | 1 | # ABSTRACT: Custom exceptions |
2 | ||
3 | =head1 SYNOPSIS | |
4 | ||
5 | Basic exception catcher | |
6 | ||
7 | =cut | |
2 | $Bio::Tradis::Analysis::Exceptions::VERSION = '1.4.5'; | |
8 | 3 | |
9 | 4 | use Exception::Class ( |
10 | 5 | Bio::Tradis::Analysis::Exceptions::FailedToOpenAlignmentSlice => { description => 'Couldnt get reads from alignment slice. Error with Samtools or BAM' }, |
17 | 12 | ); |
18 | 13 | |
19 | 14 | 1; |
15 | ||
16 | __END__ | |
17 | ||
18 | =pod | |
19 | ||
20 | =encoding UTF-8 | |
21 | ||
22 | =head1 NAME | |
23 | ||
24 | Bio::Tradis::Analysis::Exceptions - Custom exceptions | |
25 | ||
26 | =head1 VERSION | |
27 | ||
28 | version 1.4.5 | |
29 | ||
30 | =head1 SYNOPSIS | |
31 | ||
32 | Basic exception catcher | |
33 | ||
34 | =head1 AUTHOR | |
35 | ||
36 | Carla Cummins <path-help@sanger.ac.uk> | |
37 | ||
38 | =head1 COPYRIGHT AND LICENSE | |
39 | ||
40 | This software is Copyright (c) 2013 by Wellcome Trust Sanger Institute. | |
41 | ||
42 | This is free software, licensed under: | |
43 | ||
44 | The GNU General Public License, Version 3, June 2007 | |
45 | ||
46 | =cut |
0 | 0 | package Bio::Tradis::Analysis::InsertSite; |
1 | 1 | # ABSTRACT: Take in a bam file and plot the start position of each read |
2 | ||
3 | =head1 NAME | |
4 | ||
5 | InsertSite.pm - Take in a bam file and plot the start position of each read | |
6 | ||
7 | =head1 SYNOPSIS | |
8 | ||
9 | Takes in a mapped BAM file and plot the start position of each read | |
10 | ||
11 | use Bio::Tradis::Analysis::InsertSite; | |
12 | my $insertsite_plots_from_bam = Bio::Tradis::Analysis::InsertSite->new( | |
13 | filename => 'my_file.bam', | |
14 | output_base_filename => 'my_output_file' | |
15 | ); | |
16 | $insertsite_plots_from_bam->create_plots(); | |
17 | ||
18 | ||
19 | =cut | |
2 | $Bio::Tradis::Analysis::InsertSite::VERSION = '1.4.5'; | |
20 | 3 | |
21 | 4 | |
22 | 5 | use Moose; |
204 | 187 | } |
205 | 188 | |
206 | 189 | 1; |
190 | ||
191 | __END__ | |
192 | ||
193 | =pod | |
194 | ||
195 | =encoding UTF-8 | |
196 | ||
197 | =head1 NAME | |
198 | ||
199 | Bio::Tradis::Analysis::InsertSite - Take in a bam file and plot the start position of each read | |
200 | ||
201 | =head1 VERSION | |
202 | ||
203 | version 1.4.5 | |
204 | ||
205 | =head1 SYNOPSIS | |
206 | ||
207 | Takes in a mapped BAM file and plot the start position of each read | |
208 | ||
209 | use Bio::Tradis::Analysis::InsertSite; | |
210 | my $insertsite_plots_from_bam = Bio::Tradis::Analysis::InsertSite->new( | |
211 | filename => 'my_file.bam', | |
212 | output_base_filename => 'my_output_file' | |
213 | ); | |
214 | $insertsite_plots_from_bam->create_plots(); | |
215 | ||
216 | =head1 NAME | |
217 | ||
218 | InsertSite.pm - Take in a bam file and plot the start position of each read | |
219 | ||
220 | =head1 AUTHOR | |
221 | ||
222 | Carla Cummins <path-help@sanger.ac.uk> | |
223 | ||
224 | =head1 COPYRIGHT AND LICENSE | |
225 | ||
226 | This software is Copyright (c) 2013 by Wellcome Trust Sanger Institute. | |
227 | ||
228 | This is free software, licensed under: | |
229 | ||
230 | The GNU General Public License, Version 3, June 2007 | |
231 | ||
232 | =cut |
0 | 0 | package Bio::Tradis::CombinePlots; |
1 | ||
1 | $Bio::Tradis::CombinePlots::VERSION = '1.4.5'; | |
2 | 2 | # ABSTRACT: Combine multiple plotfiles and generate updated statistics for the combined files |
3 | 3 | |
4 | =head1 SYNOPSIS | |
5 | ||
6 | Takes a tab-delimited file with an ID as the first column followed by | |
7 | a list of plotfiles to combine per row. The ID will be used to name the new | |
8 | plotfile and as an identifier in the stats file, so ensure these are unique. | |
9 | ||
10 | For example, an input file named plots_to_combine.txt: | |
11 | ||
12 | tradis1 plot1.1.gz plot1.2.gz plot1.3.gz | |
13 | tradis2 plot2.1.gz plot2.2.gz | |
14 | tradis3 plot3.1.gz plot3.2.gz plot3.3.gz plot3.4.gz | |
15 | ||
16 | will produce | |
17 | ||
18 | =over | |
19 | ||
20 | 1. a directory named combined with 3 files - tradis1.insertion_site_plot.gz, | |
21 | tradis2.insertion_site_plot.gz, tradis3.insertion_site_plot.gz | |
22 | 2. a stats file named plots_to_combine.stats | |
23 | ||
24 | =back | |
25 | ||
26 | =head1 USAGE | |
27 | ||
28 | use Bio::Tradis::CombinePlots; | |
29 | ||
30 | my $pipeline = Bio::Tradis::CombinePlots->new(plotfile => 'abc'); | |
31 | $pipeline->combine; | |
32 | ||
33 | =cut | |
34 | 4 | |
35 | 5 | use Moose; |
36 | 6 | use strict; |
325 | 295 | __PACKAGE__->meta->make_immutable; |
326 | 296 | no Moose; |
327 | 297 | 1; |
298 | ||
299 | __END__ | |
300 | ||
301 | =pod | |
302 | ||
303 | =encoding UTF-8 | |
304 | ||
305 | =head1 NAME | |
306 | ||
307 | Bio::Tradis::CombinePlots - Combine multiple plotfiles and generate updated statistics for the combined files | |
308 | ||
309 | =head1 VERSION | |
310 | ||
311 | version 1.4.5 | |
312 | ||
313 | =head1 SYNOPSIS | |
314 | ||
315 | Takes a tab-delimited file with an ID as the first column followed by | |
316 | a list of plotfiles to combine per row. The ID will be used to name the new | |
317 | plotfile and as an identifier in the stats file, so ensure these are unique. | |
318 | ||
319 | For example, an input file named plots_to_combine.txt: | |
320 | ||
321 | tradis1 plot1.1.gz plot1.2.gz plot1.3.gz | |
322 | tradis2 plot2.1.gz plot2.2.gz | |
323 | tradis3 plot3.1.gz plot3.2.gz plot3.3.gz plot3.4.gz | |
324 | ||
325 | will produce | |
326 | ||
327 | =over | |
328 | ||
329 | 1. a directory named combined with 3 files - tradis1.insertion_site_plot.gz, | |
330 | tradis2.insertion_site_plot.gz, tradis3.insertion_site_plot.gz | |
331 | 2. a stats file named plots_to_combine.stats | |
332 | ||
333 | =back | |
334 | ||
335 | =head1 USAGE | |
336 | ||
337 | use Bio::Tradis::CombinePlots; | |
338 | ||
339 | my $pipeline = Bio::Tradis::CombinePlots->new(plotfile => 'abc'); | |
340 | $pipeline->combine; | |
341 | ||
342 | =head1 AUTHOR | |
343 | ||
344 | Carla Cummins <path-help@sanger.ac.uk> | |
345 | ||
346 | =head1 COPYRIGHT AND LICENSE | |
347 | ||
348 | This software is Copyright (c) 2013 by Wellcome Trust Sanger Institute. | |
349 | ||
350 | This is free software, licensed under: | |
351 | ||
352 | The GNU General Public License, Version 3, June 2007 | |
353 | ||
354 | =cut |
0 | 0 | package Bio::Tradis::CommandLine::AddTags; |
1 | ||
1 | $Bio::Tradis::CommandLine::AddTags::VERSION = '1.4.5'; | |
2 | 2 | # ABSTRACT: Add given tags to the start of the sequence |
3 | 3 | |
4 | =head1 SYNOPSIS | |
5 | ||
6 | Adds given tags to the start of the sequence | |
7 | ||
8 | =cut | |
9 | 4 | |
10 | 5 | use Moose; |
11 | 6 | use Getopt::Long qw(GetOptionsFromArray); |
81 | 76 | __PACKAGE__->meta->make_immutable; |
82 | 77 | no Moose; |
83 | 78 | 1; |
79 | ||
80 | __END__ | |
81 | ||
82 | =pod | |
83 | ||
84 | =encoding UTF-8 | |
85 | ||
86 | =head1 NAME | |
87 | ||
88 | Bio::Tradis::CommandLine::AddTags - Add given tags to the start of the sequence | |
89 | ||
90 | =head1 VERSION | |
91 | ||
92 | version 1.4.5 | |
93 | ||
94 | =head1 SYNOPSIS | |
95 | ||
96 | Adds given tags to the start of the sequence | |
97 | ||
98 | =head1 AUTHOR | |
99 | ||
100 | Carla Cummins <path-help@sanger.ac.uk> | |
101 | ||
102 | =head1 COPYRIGHT AND LICENSE | |
103 | ||
104 | This software is Copyright (c) 2013 by Wellcome Trust Sanger Institute. | |
105 | ||
106 | This is free software, licensed under: | |
107 | ||
108 | The GNU General Public License, Version 3, June 2007 | |
109 | ||
110 | =cut |
0 | 0 | package Bio::Tradis::CommandLine::CheckTags; |
1 | ||
1 | $Bio::Tradis::CommandLine::CheckTags::VERSION = '1.4.5'; | |
2 | 2 | # ABSTRACT: Check for presence of tr tag in BAM file |
3 | 3 | |
4 | =head1 SYNOPSIS | |
5 | ||
6 | Check for presence of tr tag in BAM file | |
7 | ||
8 | =cut | |
9 | 4 | |
10 | 5 | use Moose; |
11 | 6 | use Getopt::Long qw(GetOptionsFromArray); |
66 | 61 | |
67 | 62 | __PACKAGE__->meta->make_immutable; |
68 | 63 | no Moose; |
69 | 1;⏎ | |
64 | 1; | |
65 | ||
66 | __END__ | |
67 | ||
68 | =pod | |
69 | ||
70 | =encoding UTF-8 | |
71 | ||
72 | =head1 NAME | |
73 | ||
74 | Bio::Tradis::CommandLine::CheckTags - Check for presence of tr tag in BAM file | |
75 | ||
76 | =head1 VERSION | |
77 | ||
78 | version 1.4.5 | |
79 | ||
80 | =head1 SYNOPSIS | |
81 | ||
82 | Check for presence of tr tag in BAM file | |
83 | ||
84 | =head1 AUTHOR | |
85 | ||
86 | Carla Cummins <path-help@sanger.ac.uk> | |
87 | ||
88 | =head1 COPYRIGHT AND LICENSE | |
89 | ||
90 | This software is Copyright (c) 2013 by Wellcome Trust Sanger Institute. | |
91 | ||
92 | This is free software, licensed under: | |
93 | ||
94 | The GNU General Public License, Version 3, June 2007 | |
95 | ||
96 | =cut |
0 | 0 | package Bio::Tradis::CommandLine::FilterFastqTags; |
1 | ||
1 | $Bio::Tradis::CommandLine::FilterFastqTags::VERSION = '1.4.5'; | |
2 | 2 | # ABSTRACT: Remove given tags from the start of the sequence |
3 | 3 | |
4 | =head1 SYNOPSIS | |
5 | ||
6 | Removes tags from the sequence and quality strings | |
7 | ||
8 | =cut | |
9 | 4 | |
10 | 5 | use Moose; |
11 | 6 | use Getopt::Long qw(GetOptionsFromArray); |
81 | 76 | __PACKAGE__->meta->make_immutable; |
82 | 77 | no Moose; |
83 | 78 | 1; |
79 | ||
80 | __END__ | |
81 | ||
82 | =pod | |
83 | ||
84 | =encoding UTF-8 | |
85 | ||
86 | =head1 NAME | |
87 | ||
88 | Bio::Tradis::CommandLine::FilterFastqTags - Remove given tags from the start of the sequence | |
89 | ||
90 | =head1 VERSION | |
91 | ||
92 | version 1.4.5 | |
93 | ||
94 | =head1 SYNOPSIS | |
95 | ||
96 | Removes tags from the sequence and quality strings | |
97 | ||
98 | =head1 AUTHOR | |
99 | ||
100 | Carla Cummins <path-help@sanger.ac.uk> | |
101 | ||
102 | =head1 COPYRIGHT AND LICENSE | |
103 | ||
104 | This software is Copyright (c) 2013 by Wellcome Trust Sanger Institute. | |
105 | ||
106 | This is free software, licensed under: | |
107 | ||
108 | The GNU General Public License, Version 3, June 2007 | |
109 | ||
110 | =cut |
0 | 0 | package Bio::Tradis::CommandLine::PlotCombine; |
1 | ||
1 | $Bio::Tradis::CommandLine::PlotCombine::VERSION = '1.4.5'; | |
2 | 2 | # ABSTRACT: Combine multiple plotfiles and generate updated statistics for the combined files |
3 | 3 | |
4 | =head1 SYNOPSIS | |
5 | ||
6 | Takes a tab-delimited file with an ID as the first column followed by | |
7 | a list of plotfiles to combine per row. The ID will be used to name the new | |
8 | plotfile and as an identifier in the stats file, so ensure these are unique. | |
9 | ||
10 | For example, an input file named plots_to_combine.txt: | |
11 | ||
12 | tradis1 plot1.1.gz plot1.2.gz plot1.3.gz | |
13 | tradis2 plot2.1.gz plot2.2.gz | |
14 | tradis3 plot3.1.gz plot3.2.gz plot3.3.gz plot3.4.gz | |
15 | ||
16 | will produce: | |
17 | ||
18 | =over | |
19 | ||
20 | =item 1. a directory named combined with 3 files - tradis1.insertion_site_plot.gz, | |
21 | tradis2.insertion_site_plot.gz, tradis3.insertion_site_plot.gz | |
22 | ||
23 | =item 2. a stats file named plots_to_combine.stats | |
24 | ||
25 | =back | |
26 | ||
27 | =cut | |
28 | 4 | |
29 | 5 | use Moose; |
30 | 6 | use Getopt::Long qw(GetOptionsFromArray); |
98 | 74 | __PACKAGE__->meta->make_immutable; |
99 | 75 | no Moose; |
100 | 76 | 1; |
77 | ||
78 | __END__ | |
79 | ||
80 | =pod | |
81 | ||
82 | =encoding UTF-8 | |
83 | ||
84 | =head1 NAME | |
85 | ||
86 | Bio::Tradis::CommandLine::PlotCombine - Combine multiple plotfiles and generate updated statistics for the combined files | |
87 | ||
88 | =head1 VERSION | |
89 | ||
90 | version 1.4.5 | |
91 | ||
92 | =head1 SYNOPSIS | |
93 | ||
94 | Takes a tab-delimited file with an ID as the first column followed by | |
95 | a list of plotfiles to combine per row. The ID will be used to name the new | |
96 | plotfile and as an identifier in the stats file, so ensure these are unique. | |
97 | ||
98 | For example, an input file named plots_to_combine.txt: | |
99 | ||
100 | tradis1 plot1.1.gz plot1.2.gz plot1.3.gz | |
101 | tradis2 plot2.1.gz plot2.2.gz | |
102 | tradis3 plot3.1.gz plot3.2.gz plot3.3.gz plot3.4.gz | |
103 | ||
104 | will produce: | |
105 | ||
106 | =over | |
107 | ||
108 | =item 1. a directory named combined with 3 files - tradis1.insertion_site_plot.gz, | |
109 | tradis2.insertion_site_plot.gz, tradis3.insertion_site_plot.gz | |
110 | ||
111 | =item 2. a stats file named plots_to_combine.stats | |
112 | ||
113 | =back | |
114 | ||
115 | =head1 AUTHOR | |
116 | ||
117 | Carla Cummins <path-help@sanger.ac.uk> | |
118 | ||
119 | =head1 COPYRIGHT AND LICENSE | |
120 | ||
121 | This software is Copyright (c) 2013 by Wellcome Trust Sanger Institute. | |
122 | ||
123 | This is free software, licensed under: | |
124 | ||
125 | The GNU General Public License, Version 3, June 2007 | |
126 | ||
127 | =cut |
0 | 0 | package Bio::Tradis::CommandLine::PlotTradis; |
1 | ||
1 | $Bio::Tradis::CommandLine::PlotTradis::VERSION = '1.4.5'; | |
2 | 2 | # ABSTRACT: Generate plots as part of a tradis analysis |
3 | 3 | |
4 | =head1 SYNOPSIS | |
5 | ||
6 | Generate insertion plots for Artemis from a mapped fastq file and | |
7 | a reference in GFF format | |
8 | ||
9 | =cut | |
10 | 4 | |
11 | 5 | use Moose; |
12 | 6 | use Getopt::Long qw(GetOptionsFromArray); |
76 | 70 | __PACKAGE__->meta->make_immutable; |
77 | 71 | no Moose; |
78 | 72 | 1; |
73 | ||
74 | __END__ | |
75 | ||
76 | =pod | |
77 | ||
78 | =encoding UTF-8 | |
79 | ||
80 | =head1 NAME | |
81 | ||
82 | Bio::Tradis::CommandLine::PlotTradis - Generate plots as part of a tradis analysis | |
83 | ||
84 | =head1 VERSION | |
85 | ||
86 | version 1.4.5 | |
87 | ||
88 | =head1 SYNOPSIS | |
89 | ||
90 | Generate insertion plots for Artemis from a mapped fastq file and | |
91 | a reference in GFF format | |
92 | ||
93 | =head1 AUTHOR | |
94 | ||
95 | Carla Cummins <path-help@sanger.ac.uk> | |
96 | ||
97 | =head1 COPYRIGHT AND LICENSE | |
98 | ||
99 | This software is Copyright (c) 2013 by Wellcome Trust Sanger Institute. | |
100 | ||
101 | This is free software, licensed under: | |
102 | ||
103 | The GNU General Public License, Version 3, June 2007 | |
104 | ||
105 | =cut |
0 | 0 | package Bio::Tradis::CommandLine::RemoveFastqTags; |
1 | ||
1 | $Bio::Tradis::CommandLine::RemoveFastqTags::VERSION = '1.4.5'; | |
2 | 2 | # ABSTRACT: Remove given tags from the start of the sequence |
3 | 3 | |
4 | =head1 SYNOPSIS | |
5 | ||
6 | Removes tags from the sequence and quality strings | |
7 | ||
8 | =cut | |
9 | 4 | |
10 | 5 | use Moose; |
11 | 6 | use Getopt::Long qw(GetOptionsFromArray); |
81 | 76 | __PACKAGE__->meta->make_immutable; |
82 | 77 | no Moose; |
83 | 78 | 1; |
79 | ||
80 | __END__ | |
81 | ||
82 | =pod | |
83 | ||
84 | =encoding UTF-8 | |
85 | ||
86 | =head1 NAME | |
87 | ||
88 | Bio::Tradis::CommandLine::RemoveFastqTags - Remove given tags from the start of the sequence | |
89 | ||
90 | =head1 VERSION | |
91 | ||
92 | version 1.4.5 | |
93 | ||
94 | =head1 SYNOPSIS | |
95 | ||
96 | Removes tags from the sequence and quality strings | |
97 | ||
98 | =head1 AUTHOR | |
99 | ||
100 | Carla Cummins <path-help@sanger.ac.uk> | |
101 | ||
102 | =head1 COPYRIGHT AND LICENSE | |
103 | ||
104 | This software is Copyright (c) 2013 by Wellcome Trust Sanger Institute. | |
105 | ||
106 | This is free software, licensed under: | |
107 | ||
108 | The GNU General Public License, Version 3, June 2007 | |
109 | ||
110 | =cut |
0 | 0 | package Bio::Tradis::CommandLine::RunMapping; |
1 | ||
1 | $Bio::Tradis::CommandLine::RunMapping::VERSION = '1.4.5'; | |
2 | 2 | # ABSTRACT: Perform mapping |
3 | 3 | |
4 | =head1 SYNOPSIS | |
5 | ||
6 | Takes a reference genome and indexes it. | |
7 | Maps given fastq files to ref. | |
8 | ||
9 | =cut | |
10 | 4 | |
11 | 5 | use Moose; |
12 | 6 | use Getopt::Long qw(GetOptionsFromArray); |
122 | 116 | __PACKAGE__->meta->make_immutable; |
123 | 117 | no Moose; |
124 | 118 | 1; |
119 | ||
120 | __END__ | |
121 | ||
122 | =pod | |
123 | ||
124 | =encoding UTF-8 | |
125 | ||
126 | =head1 NAME | |
127 | ||
128 | Bio::Tradis::CommandLine::RunMapping - Perform mapping | |
129 | ||
130 | =head1 VERSION | |
131 | ||
132 | version 1.4.5 | |
133 | ||
134 | =head1 SYNOPSIS | |
135 | ||
136 | Takes a reference genome and indexes it. | |
137 | Maps given fastq files to ref. | |
138 | ||
139 | =head1 AUTHOR | |
140 | ||
141 | Carla Cummins <path-help@sanger.ac.uk> | |
142 | ||
143 | =head1 COPYRIGHT AND LICENSE | |
144 | ||
145 | This software is Copyright (c) 2013 by Wellcome Trust Sanger Institute. | |
146 | ||
147 | This is free software, licensed under: | |
148 | ||
149 | The GNU General Public License, Version 3, June 2007 | |
150 | ||
151 | =cut |
0 | 0 | package Bio::Tradis::CommandLine::TradisAnalysis; |
1 | ||
1 | $Bio::Tradis::CommandLine::TradisAnalysis::VERSION = '1.4.5'; | |
2 | 2 | # ABSTRACT: Perform full tradis analysis |
3 | 3 | |
4 | =head1 SYNOPSIS | |
5 | ||
6 | Takes a fastq, reference and a tag and generates insertion | |
7 | site plots for use in Artemis | |
8 | ||
9 | =cut | |
10 | 4 | |
11 | 5 | use Moose; |
12 | 6 | use Getopt::Long qw(GetOptionsFromArray); |
281 | 275 | __PACKAGE__->meta->make_immutable; |
282 | 276 | no Moose; |
283 | 277 | 1; |
278 | ||
279 | __END__ | |
280 | ||
281 | =pod | |
282 | ||
283 | =encoding UTF-8 | |
284 | ||
285 | =head1 NAME | |
286 | ||
287 | Bio::Tradis::CommandLine::TradisAnalysis - Perform full tradis analysis | |
288 | ||
289 | =head1 VERSION | |
290 | ||
291 | version 1.4.5 | |
292 | ||
293 | =head1 SYNOPSIS | |
294 | ||
295 | Takes a fastq, reference and a tag and generates insertion | |
296 | site plots for use in Artemis | |
297 | ||
298 | =head1 AUTHOR | |
299 | ||
300 | Carla Cummins <path-help@sanger.ac.uk> | |
301 | ||
302 | =head1 COPYRIGHT AND LICENSE | |
303 | ||
304 | This software is Copyright (c) 2013 by Wellcome Trust Sanger Institute. | |
305 | ||
306 | This is free software, licensed under: | |
307 | ||
308 | The GNU General Public License, Version 3, June 2007 | |
309 | ||
310 | =cut |
0 | 0 | package Bio::Tradis::CommandLine::TradisBam; |
1 | ||
1 | $Bio::Tradis::CommandLine::TradisBam::VERSION = '1.4.5'; | |
2 | 2 | # ABSTRACT: Adds tags to sequences if tags are present |
3 | 3 | |
4 | =head1 SYNOPSIS | |
5 | ||
6 | Checks for tradis tags in the BAM and outputs processed TraDIS BAM file | |
7 | with tags attached | |
8 | ||
9 | =cut | |
10 | 4 | |
11 | 5 | use Moose; |
12 | 6 | use Getopt::Long qw(GetOptionsFromArray); |
99 | 93 | __PACKAGE__->meta->make_immutable; |
100 | 94 | no Moose; |
101 | 95 | 1; |
96 | ||
97 | __END__ | |
98 | ||
99 | =pod | |
100 | ||
101 | =encoding UTF-8 | |
102 | ||
103 | =head1 NAME | |
104 | ||
105 | Bio::Tradis::CommandLine::TradisBam - Adds tags to sequences if tags are present | |
106 | ||
107 | =head1 VERSION | |
108 | ||
109 | version 1.4.5 | |
110 | ||
111 | =head1 SYNOPSIS | |
112 | ||
113 | Checks for tradis tags in the BAM and outputs processed TraDIS BAM file | |
114 | with tags attached | |
115 | ||
116 | =head1 AUTHOR | |
117 | ||
118 | Carla Cummins <path-help@sanger.ac.uk> | |
119 | ||
120 | =head1 COPYRIGHT AND LICENSE | |
121 | ||
122 | This software is Copyright (c) 2013 by Wellcome Trust Sanger Institute. | |
123 | ||
124 | This is free software, licensed under: | |
125 | ||
126 | The GNU General Public License, Version 3, June 2007 | |
127 | ||
128 | =cut |
0 | 0 | package Bio::Tradis::DetectTags; |
1 | ||
1 | $Bio::Tradis::DetectTags::VERSION = '1.4.5'; | |
2 | 2 | # ABSTRACT: Detect tr tags in BAM file |
3 | 3 | |
4 | =head1 NAME | |
5 | ||
6 | Bio::Tradis::DetectTags | |
7 | ||
8 | =head1 SYNOPSIS | |
9 | ||
10 | Detects presence of tr/tq tags in BAM files from Tradis analyses | |
11 | use Bio::Tradis::DetectTags; | |
12 | ||
13 | my $pipeline = Bio::Tradis::DetectTags->new(bamfile => 'abc'); | |
14 | $pipeline->tags_present(); | |
15 | ||
16 | =head1 PARAMETERS | |
17 | ||
18 | =head2 Required | |
19 | ||
20 | C<bamfile> - path to/name of file to check | |
21 | ||
22 | =head1 METHODS | |
23 | ||
24 | C<tags_present> - returns true if TraDIS tags are detected in C<bamfile> | |
25 | ||
26 | =cut | |
27 | 4 | |
28 | 5 | use Moose; |
29 | 6 | use Bio::Tradis::Parser::Bam |
51 | 28 | __PACKAGE__->meta->make_immutable; |
52 | 29 | no Moose; |
53 | 30 | 1; |
31 | ||
32 | __END__ | |
33 | ||
34 | =pod | |
35 | ||
36 | =encoding UTF-8 | |
37 | ||
38 | =head1 NAME | |
39 | ||
40 | Bio::Tradis::DetectTags - Detect tr tags in BAM file | |
41 | ||
42 | =head1 VERSION | |
43 | ||
44 | version 1.4.5 | |
45 | ||
46 | =head1 SYNOPSIS | |
47 | ||
48 | Detects presence of tr/tq tags in BAM files from Tradis analyses | |
49 | use Bio::Tradis::DetectTags; | |
50 | ||
51 | my $pipeline = Bio::Tradis::DetectTags->new(bamfile => 'abc'); | |
52 | $pipeline->tags_present(); | |
53 | ||
54 | =head1 NAME | |
55 | ||
56 | Bio::Tradis::DetectTags | |
57 | ||
58 | =head1 PARAMETERS | |
59 | ||
60 | =head2 Required | |
61 | ||
62 | C<bamfile> - path to/name of file to check | |
63 | ||
64 | =head1 METHODS | |
65 | ||
66 | C<tags_present> - returns true if TraDIS tags are detected in C<bamfile> | |
67 | ||
68 | =head1 AUTHOR | |
69 | ||
70 | Carla Cummins <path-help@sanger.ac.uk> | |
71 | ||
72 | =head1 COPYRIGHT AND LICENSE | |
73 | ||
74 | This software is Copyright (c) 2013 by Wellcome Trust Sanger Institute. | |
75 | ||
76 | This is free software, licensed under: | |
77 | ||
78 | The GNU General Public License, Version 3, June 2007 | |
79 | ||
80 | =cut |
0 | 0 | package Bio::Tradis::Exception; |
1 | 1 | # ABSTRACT: Exceptions for input data |
2 | ||
3 | =head1 SYNOPSIS | |
4 | ||
5 | Exceptions for input data | |
6 | ||
7 | =cut | |
2 | $Bio::Tradis::Exception::VERSION = '1.4.5'; | |
8 | 3 | |
9 | 4 | |
10 | 5 | use Exception::Class ( |
13 | 8 | ); |
14 | 9 | |
15 | 10 | 1; |
11 | ||
12 | __END__ | |
13 | ||
14 | =pod | |
15 | ||
16 | =encoding UTF-8 | |
17 | ||
18 | =head1 NAME | |
19 | ||
20 | Bio::Tradis::Exception - Exceptions for input data | |
21 | ||
22 | =head1 VERSION | |
23 | ||
24 | version 1.4.5 | |
25 | ||
26 | =head1 SYNOPSIS | |
27 | ||
28 | Exceptions for input data | |
29 | ||
30 | =head1 AUTHOR | |
31 | ||
32 | Carla Cummins <path-help@sanger.ac.uk> | |
33 | ||
34 | =head1 COPYRIGHT AND LICENSE | |
35 | ||
36 | This software is Copyright (c) 2013 by Wellcome Trust Sanger Institute. | |
37 | ||
38 | This is free software, licensed under: | |
39 | ||
40 | The GNU General Public License, Version 3, June 2007 | |
41 | ||
42 | =cut |
0 | 0 | package Bio::Tradis::FilterTags; |
1 | ||
1 | $Bio::Tradis::FilterTags::VERSION = '1.4.5'; | |
2 | 2 | # ABSTRACT: Filter tags in a fastq file |
3 | 3 | |
4 | =head1 SYNOPSIS | |
5 | ||
6 | Reads in a fastq file with tradis tags already attached to the start of the sequence | |
7 | Filters reads that contain the provided tag | |
8 | Outputs a file *.tag.fastq unless an alternative outfile name is specified | |
9 | ||
10 | use Bio::Tradis::FilterTags; | |
11 | ||
12 | my $pipeline = Bio::Tradis::FilterTags->new(fastqfile => 'abc', tag => 'abc'); | |
13 | $pipeline->filter_tags(); | |
14 | ||
15 | =head1 PARAMETERS | |
16 | ||
17 | =head2 Required | |
18 | ||
19 | =over | |
20 | ||
21 | =item * C<fastqfile> - path to/name of file to filter. This may be a gzipped fastq file, in which case a temporary unzipped version is used and removed on completion. | |
22 | ||
23 | =item * C<tag> - TraDIS tag to match | |
24 | ||
25 | =back | |
26 | ||
27 | =head2 Optional | |
28 | ||
29 | =over | |
30 | ||
31 | =item * C<mismatch> - number of mismatches to allow when matching the tag. Default = 0 | |
32 | ||
33 | =item * C<outfile> - output file name. Defaults to C<file.tag.fastq> for an input file named C<file.fastq> | |
34 | ||
35 | =back | |
36 | ||
37 | =head1 METHODS | |
38 | ||
39 | C<filter_tags> - outputs all reads containing the provided tag to C<outfile> | |
40 | ||
41 | =cut | |
42 | 4 | |
43 | 5 | use Moose; |
44 | 6 | use Bio::Tradis::Parser::Fastq; |
159 | 121 | __PACKAGE__->meta->make_immutable; |
160 | 122 | no Moose; |
161 | 123 | 1; |
124 | ||
125 | __END__ | |
126 | ||
127 | =pod | |
128 | ||
129 | =encoding UTF-8 | |
130 | ||
131 | =head1 NAME | |
132 | ||
133 | Bio::Tradis::FilterTags - Filter tags in a fastq file | |
134 | ||
135 | =head1 VERSION | |
136 | ||
137 | version 1.4.5 | |
138 | ||
139 | =head1 SYNOPSIS | |
140 | ||
141 | Reads in a fastq file with tradis tags already attached to the start of the sequence | |
142 | Filters reads that contain the provided tag | |
143 | Outputs a file *.tag.fastq unless an alternative outfile name is specified | |
144 | ||
145 | use Bio::Tradis::FilterTags; | |
146 | ||
147 | my $pipeline = Bio::Tradis::FilterTags->new(fastqfile => 'abc', tag => 'abc'); | |
148 | $pipeline->filter_tags(); | |
149 | ||
150 | =head1 PARAMETERS | |
151 | ||
152 | =head2 Required | |
153 | ||
154 | =over | |
155 | ||
156 | =item * C<fastqfile> - path to/name of file to filter. This may be a gzipped fastq file, in which case a temporary unzipped version is used and removed on completion. | |
157 | ||
158 | =item * C<tag> - TraDIS tag to match | |
159 | ||
160 | =back | |
161 | ||
162 | =head2 Optional | |
163 | ||
164 | =over | |
165 | ||
166 | =item * C<mismatch> - number of mismatches to allow when matching the tag. Default = 0 | |
167 | ||
168 | =item * C<outfile> - output file name. Defaults to C<file.tag.fastq> for an input file named C<file.fastq> | |
169 | ||
170 | =back | |
171 | ||
172 | =head1 METHODS | |
173 | ||
174 | C<filter_tags> - outputs all reads containing the provided tag to C<outfile> | |
175 | ||
176 | =head1 AUTHOR | |
177 | ||
178 | Carla Cummins <path-help@sanger.ac.uk> | |
179 | ||
180 | =head1 COPYRIGHT AND LICENSE | |
181 | ||
182 | This software is Copyright (c) 2013 by Wellcome Trust Sanger Institute. | |
183 | ||
184 | This is free software, licensed under: | |
185 | ||
186 | The GNU General Public License, Version 3, June 2007 | |
187 | ||
188 | =cut |
0 | 0 | package Bio::Tradis::Map; |
1 | ||
1 | $Bio::Tradis::Map::VERSION = '1.4.5'; | |
2 | 2 | # ABSTRACT: Perform mapping |
3 | 3 | |
4 | =head1 SYNOPSIS | |
5 | ||
6 | Takes a reference genome and indexes it. | |
7 | Maps given fastq files to ref. | |
8 | ||
9 | use Bio::Tradis::Map; | |
10 | ||
11 | my $pipeline = Bio::Tradis::Map->new(fastqfile => 'abc', reference => 'abc'); | |
12 | $pipeline->index_ref(); | |
13 | $pipeline->do_mapping(); | |
14 | ||
15 | =head1 PARAMETERS | |
16 | ||
17 | =head2 Required | |
18 | ||
19 | =over | |
20 | ||
21 | =item * C<fastqfile> - path to/name of file containing reads to map to the reference | |
22 | ||
23 | =item * C<reference> - path to/name of reference genome in fasta format (.fa) | |
24 | ||
25 | =back | |
26 | ||
27 | =head2 Optional | |
28 | ||
29 | =over | |
30 | ||
31 | =item * C<refname> - name to assign to the reference index files. Default = ref.index | |
32 | ||
33 | =item * C<outfile> - name to assign to the mapped SAM file. Default = mapped.sam | |
34 | ||
35 | =back | |
36 | ||
37 | =head1 METHODS | |
38 | ||
39 | =over | |
40 | ||
41 | =item * C<index_ref> - create index files of the reference genome. These are required | |
42 | for the mapping step. Only skip this step if index files already | |
43 | exist. -k and -s options for referencing are calculated based | |
44 | on the length of the reads being mapped as per table: | |
45 | ||
46 | =begin html | |
47 | ||
48 | <table> | |
49 | <tr><th>Read length</th><th>k</th><th>s</th></tr> | |
50 | <tr><td><70</td><td>13</td><td>4<td></tr> | |
51 | <tr><td>>70 and <100</td><td>13</td><td>6<td></tr> | |
52 | <tr><td>>100</td><td>20</td><td>6<td></tr> | |
53 | </table> | |
54 | ||
55 | =end html | |
56 | ||
57 | =item * C<do_mapping> - map C<fastqfile> to C<reference>. Options used for mapping are: C<-r -1 -x -y 0.96> | |
58 | ||
59 | =back | |
60 | ||
61 | For more information on the mapping and indexing options discussed here, see the L<SMALT manual|ftp://ftp.sanger.ac.uk/pub4/resources/software/smalt/smalt-manual-0.7.4.pdf> | |
62 | ||
63 | =cut | |
64 | 4 | |
65 | 5 | use Moose; |
66 | 6 | use Bio::Tradis::Parser::Fastq; |
168 | 108 | __PACKAGE__->meta->make_immutable; |
169 | 109 | no Moose; |
170 | 110 | 1; |
111 | ||
112 | __END__ | |
113 | ||
114 | =pod | |
115 | ||
116 | =encoding UTF-8 | |
117 | ||
118 | =head1 NAME | |
119 | ||
120 | Bio::Tradis::Map - Perform mapping | |
121 | ||
122 | =head1 VERSION | |
123 | ||
124 | version 1.4.5 | |
125 | ||
126 | =head1 SYNOPSIS | |
127 | ||
128 | Takes a reference genome and indexes it. | |
129 | Maps given fastq files to ref. | |
130 | ||
131 | use Bio::Tradis::Map; | |
132 | ||
133 | my $pipeline = Bio::Tradis::Map->new(fastqfile => 'abc', reference => 'abc'); | |
134 | $pipeline->index_ref(); | |
135 | $pipeline->do_mapping(); | |
136 | ||
137 | =head1 PARAMETERS | |
138 | ||
139 | =head2 Required | |
140 | ||
141 | =over | |
142 | ||
143 | =item * C<fastqfile> - path to/name of file containing reads to map to the reference | |
144 | ||
145 | =item * C<reference> - path to/name of reference genome in fasta format (.fa) | |
146 | ||
147 | =back | |
148 | ||
149 | =head2 Optional | |
150 | ||
151 | =over | |
152 | ||
153 | =item * C<refname> - name to assign to the reference index files. Default = ref.index | |
154 | ||
155 | =item * C<outfile> - name to assign to the mapped SAM file. Default = mapped.sam | |
156 | ||
157 | =back | |
158 | ||
159 | =head1 METHODS | |
160 | ||
161 | =over | |
162 | ||
163 | =item * C<index_ref> - create index files of the reference genome. These are required | |
164 | for the mapping step. Only skip this step if index files already | |
165 | exist. -k and -s options for referencing are calculated based | |
166 | on the length of the reads being mapped as per table: | |
167 | ||
168 | =for html <table> | |
169 | <tr><th>Read length</th><th>k</th><th>s</th></tr> | |
170 | <tr><td><70</td><td>13</td><td>4<td></tr> | |
171 | <tr><td>>70 and <100</td><td>13</td><td>6<td></tr> | |
172 | <tr><td>>100</td><td>20</td><td>6<td></tr> | |
173 | </table> | |
174 | ||
175 | =item * C<do_mapping> - map C<fastqfile> to C<reference>. Options used for mapping are: C<-r -1 -x -y 0.96> | |
176 | ||
177 | =back | |
178 | ||
179 | For more information on the mapping and indexing options discussed here, see the L<SMALT manual|ftp://ftp.sanger.ac.uk/pub4/resources/software/smalt/smalt-manual-0.7.4.pdf> | |
180 | ||
181 | =head1 AUTHOR | |
182 | ||
183 | Carla Cummins <path-help@sanger.ac.uk> | |
184 | ||
185 | =head1 COPYRIGHT AND LICENSE | |
186 | ||
187 | This software is Copyright (c) 2013 by Wellcome Trust Sanger Institute. | |
188 | ||
189 | This is free software, licensed under: | |
190 | ||
191 | The GNU General Public License, Version 3, June 2007 | |
192 | ||
193 | =cut |
0 | 0 | package Bio::Tradis::Parser::Bam; |
1 | ||
1 | $Bio::Tradis::Parser::Bam::VERSION = '1.4.5'; | |
2 | 2 | # ABSTRACT: Very basic BAM parser. Limited functionality. |
3 | 3 | |
4 | =head1 SYNOPSIS | |
5 | ||
6 | Parses BAM files and gives access to basic info in them. | |
7 | ||
8 | use Bio::Tradis::Parser::Bam; | |
9 | ||
10 | my $pipeline = Bio::Tradis::Parser::Bam->new(file => 'abc'); | |
11 | $pipeline->read_info; | |
12 | $pipeline->next_read; | |
13 | $pipeline->seq_info; | |
14 | $pipeline->is_mapped; | |
15 | $pipeline->is_reverse; | |
16 | ||
17 | =cut | |
18 | 4 | |
19 | 5 | use Moose; |
20 | 6 | |
81 | 67 | |
82 | 68 | ### Public methods ### |
83 | 69 | |
84 | =seq_info | |
85 | Reads BAM header and returns a hash (keys are sequence ids, values are hash | |
86 | refs with keys as tags (like LN and M5)) | |
87 | =cut | |
88 | 70 | |
89 | 71 | sub seq_info { |
90 | 72 | my ($self) = @_; |
110 | 92 | return %all_seq_info; |
111 | 93 | } |
112 | 94 | |
113 | =next_read | |
114 | Moves _currentread to the next entry in the BAM. Returns 0 if EOF. | |
115 | =cut | |
116 | 95 | |
117 | 96 | sub next_read { |
118 | 97 | my ($self) = @_; |
134 | 113 | close $self->_bam_handle; |
135 | 114 | } |
136 | 115 | |
137 | =read_info | |
116 | ||
117 | sub read_info { | |
118 | my ($self) = @_; | |
119 | return $self->_currentread; | |
120 | } | |
121 | ||
122 | ||
123 | sub is_mapped { | |
124 | my ($self) = @_; | |
125 | my $flag = ${ $self->_currentread }{BINARY_FLAG}; | |
126 | my @flag_array = split( '', $flag ); | |
127 | my $resl; | |
128 | if ( $flag_array[-3] ) { $resl = 0; } | |
129 | else { $resl = 1; } | |
130 | return $resl; | |
131 | } | |
132 | ||
133 | ||
134 | sub is_reverse { | |
135 | my ($self) = @_; | |
136 | my $flag = ${ $self->_currentread }{BINARY_FLAG}; | |
137 | my @flag_array = split( '', $flag ); | |
138 | ||
139 | #print @flag_array; | |
140 | return $flag_array[-5]; | |
141 | } | |
142 | ||
143 | __PACKAGE__->meta->make_immutable; | |
144 | no Moose; | |
145 | 1; | |
146 | ||
147 | __END__ | |
148 | ||
149 | =pod | |
150 | ||
151 | =encoding UTF-8 | |
152 | ||
153 | =head1 NAME | |
154 | ||
155 | Bio::Tradis::Parser::Bam - Very basic BAM parser. Limited functionality. | |
156 | ||
157 | =head1 VERSION | |
158 | ||
159 | version 1.4.5 | |
160 | ||
161 | =head1 SYNOPSIS | |
162 | ||
163 | Parses BAM files and gives access to basic info in them. | |
164 | ||
165 | use Bio::Tradis::Parser::Bam; | |
166 | ||
167 | my $pipeline = Bio::Tradis::Parser::Bam->new(file => 'abc'); | |
168 | $pipeline->read_info; | |
169 | $pipeline->next_read; | |
170 | $pipeline->seq_info; | |
171 | $pipeline->is_mapped; | |
172 | $pipeline->is_reverse; | |
173 | ||
174 | =seq_info | |
175 | Reads BAM header and returns a hash (keys are sequence ids, values are hash | |
176 | refs with keys as tags (like LN and M5)) | |
177 | ||
178 | =next_read | |
179 | Moves _currentread to the next entry in the BAM. Returns 0 if EOF. | |
180 | ||
181 | =read_info | |
138 | 182 | Returns info from _currentread = hash reference with field name as key. |
139 | 183 | Standard fields are named as per the SAM format specification: |
140 | 184 | 1 : QNAME |
150 | 194 | 11 : QUAL |
151 | 195 | Additional fields will use their tag names. |
152 | 196 | Complete line is returned with key READ |
153 | =cut | |
154 | ||
155 | sub read_info { | |
156 | my ($self) = @_; | |
157 | return $self->_currentread; | |
158 | } | |
159 | ||
160 | =is_mapped | |
197 | ||
198 | =is_mapped | |
161 | 199 | Parses the flag for the current read and determines if mapped. |
162 | 200 | Returns 0 or 1. |
163 | =cut | |
164 | ||
165 | sub is_mapped { | |
166 | my ($self) = @_; | |
167 | my $flag = ${ $self->_currentread }{BINARY_FLAG}; | |
168 | my @flag_array = split( '', $flag ); | |
169 | my $resl; | |
170 | if ( $flag_array[-3] ) { $resl = 0; } | |
171 | else { $resl = 1; } | |
172 | return $resl; | |
173 | } | |
174 | ||
175 | =is_reverse | |
201 | ||
202 | =is_reverse | |
176 | 203 | Parses the flag for the current read and determines if reverse |
177 | 204 | complemented. Returns 0 or 1. |
205 | ||
206 | =head1 AUTHOR | |
207 | ||
208 | Carla Cummins <path-help@sanger.ac.uk> | |
209 | ||
210 | =head1 COPYRIGHT AND LICENSE | |
211 | ||
212 | This software is Copyright (c) 2013 by Wellcome Trust Sanger Institute. | |
213 | ||
214 | This is free software, licensed under: | |
215 | ||
216 | The GNU General Public License, Version 3, June 2007 | |
217 | ||
178 | 218 | =cut |
179 | ||
180 | sub is_reverse { | |
181 | my ($self) = @_; | |
182 | my $flag = ${ $self->_currentread }{BINARY_FLAG}; | |
183 | my @flag_array = split( '', $flag ); | |
184 | ||
185 | #print @flag_array; | |
186 | return $flag_array[-5]; | |
187 | } | |
188 | ||
189 | __PACKAGE__->meta->make_immutable; | |
190 | no Moose; | |
191 | 1; |
0 | 0 | package Bio::Tradis::Parser::Cigar; |
1 | ||
1 | $Bio::Tradis::Parser::Cigar::VERSION = '1.4.5'; | |
2 | 2 | # ABSTRACT: Take in a cigar string and output start and end relative to the reference sequence |
3 | 3 | |
4 | =head1 SYNOPSIS | |
5 | ||
6 | Take in a cigar string and output start and end relative to the reference sequence | |
7 | ||
8 | use Bio::Tradis::Parser::Cigar; | |
9 | ||
10 | my $cigar = Bio::Tradis::Parser::Cigar->new(coordinate => 123, cigar => '10S90M'); | |
11 | $cigar->start; | |
12 | $cigar->end; | |
13 | ||
14 | =cut | |
15 | 4 | |
16 | 5 | use Moose; |
17 | 6 | |
68 | 57 | __PACKAGE__->meta->make_immutable; |
69 | 58 | no Moose; |
70 | 59 | 1; |
60 | ||
61 | __END__ | |
62 | ||
63 | =pod | |
64 | ||
65 | =encoding UTF-8 | |
66 | ||
67 | =head1 NAME | |
68 | ||
69 | Bio::Tradis::Parser::Cigar - Take in a cigar string and output start and end relative to the reference sequence | |
70 | ||
71 | =head1 VERSION | |
72 | ||
73 | version 1.4.5 | |
74 | ||
75 | =head1 SYNOPSIS | |
76 | ||
77 | Take in a cigar string and output start and end relative to the reference sequence | |
78 | ||
79 | use Bio::Tradis::Parser::Cigar; | |
80 | ||
81 | my $cigar = Bio::Tradis::Parser::Cigar->new(coordinate => 123, cigar => '10S90M'); | |
82 | $cigar->start; | |
83 | $cigar->end; | |
84 | ||
85 | =head1 AUTHOR | |
86 | ||
87 | Carla Cummins <path-help@sanger.ac.uk> | |
88 | ||
89 | =head1 COPYRIGHT AND LICENSE | |
90 | ||
91 | This software is Copyright (c) 2013 by Wellcome Trust Sanger Institute. | |
92 | ||
93 | This is free software, licensed under: | |
94 | ||
95 | The GNU General Public License, Version 3, June 2007 | |
96 | ||
97 | =cut |
0 | 0 | package Bio::Tradis::Parser::Fastq; |
1 | ||
1 | $Bio::Tradis::Parser::Fastq::VERSION = '1.4.5'; | |
2 | 2 | # ABSTRACT: Basic FastQ parser. |
3 | 3 | |
4 | =head1 SYNOPSIS | |
5 | ||
6 | Parses fastq files. | |
7 | ||
8 | use Bio::Tradis::Parser::Fastq; | |
9 | ||
10 | my $pipeline = Bio::Tradis::Parser::Fastq->new(file => 'abc'); | |
11 | $pipeline->next_read; | |
12 | $pipeline->read_info; | |
13 | ||
14 | =cut | |
15 | 4 | |
16 | 5 | use Moose; |
17 | 6 | |
41 | 30 | |
42 | 31 | ### Public methods ### |
43 | 32 | |
44 | =next_read | |
45 | Moves to the next read. Returns 1 if read exists, returns 0 | |
46 | if EOF | |
47 | =cut | |
48 | 33 | |
49 | 34 | sub next_read { |
50 | 35 | my ($self) = @_; |
60 | 45 | } |
61 | 46 | } |
62 | 47 | |
63 | =read_info | |
64 | Returns an array of info for the read in an array. | |
65 | 0 = id | |
66 | 1 = sequence | |
67 | 2 = quality string | |
68 | =cut | |
69 | 48 | sub read_info { |
70 | 49 | my ($self) = @_; |
71 | 50 | my $fqh = $self->_fastq_handle; |
98 | 77 | __PACKAGE__->meta->make_immutable; |
99 | 78 | no Moose; |
100 | 79 | 1; |
80 | ||
81 | __END__ | |
82 | ||
83 | =pod | |
84 | ||
85 | =encoding UTF-8 | |
86 | ||
87 | =head1 NAME | |
88 | ||
89 | Bio::Tradis::Parser::Fastq - Basic FastQ parser. | |
90 | ||
91 | =head1 VERSION | |
92 | ||
93 | version 1.4.5 | |
94 | ||
95 | =head1 SYNOPSIS | |
96 | ||
97 | Parses fastq files. | |
98 | ||
99 | use Bio::Tradis::Parser::Fastq; | |
100 | ||
101 | my $pipeline = Bio::Tradis::Parser::Fastq->new(file => 'abc'); | |
102 | $pipeline->next_read; | |
103 | $pipeline->read_info; | |
104 | ||
105 | =next_read | |
106 | Moves to the next read. Returns 1 if read exists, returns 0 | |
107 | if EOF | |
108 | ||
109 | =read_info | |
110 | Returns an array of info for the read in an array. | |
111 | 0 = id | |
112 | 1 = sequence | |
113 | 2 = quality string | |
114 | ||
115 | =head1 AUTHOR | |
116 | ||
117 | Carla Cummins <path-help@sanger.ac.uk> | |
118 | ||
119 | =head1 COPYRIGHT AND LICENSE | |
120 | ||
121 | This software is Copyright (c) 2013 by Wellcome Trust Sanger Institute. | |
122 | ||
123 | This is free software, licensed under: | |
124 | ||
125 | The GNU General Public License, Version 3, June 2007 | |
126 | ||
127 | =cut |
0 | 0 | package Bio::Tradis::RemoveTags; |
1 | ||
1 | $Bio::Tradis::RemoveTags::VERSION = '1.4.5'; | |
2 | 2 | # ABSTRACT: Remove tags from seqs a fastq file |
3 | 3 | |
4 | =head1 SYNOPSIS | |
5 | ||
6 | Reads in a fastq file with tradis tags already attached to the start of the sequence | |
7 | Removes tags from the sequence and quality strings | |
8 | Outputs a file *.rmtag.fastq unless an out file is specified | |
9 | ||
10 | use Bio::Tradis::RemoveTags; | |
11 | ||
12 | my $pipeline = Bio::Tradis::RemoveTags->new(fastqfile => 'abc', tag => 'abc'); | |
13 | $pipeline->remove_tags(); | |
14 | ||
15 | =head1 PARAMETERS | |
16 | ||
17 | =head2 Required | |
18 | ||
19 | =over | |
20 | ||
21 | =item * C<fastqfile> - path to/name of file to filter | |
22 | ||
23 | =item * C<tag> - TraDIS tag to remove | |
24 | ||
25 | =back | |
26 | ||
27 | =head2 Optional | |
28 | ||
29 | =over | |
30 | ||
31 | =item * C<mismatch> - number of mismatches to allow when removing the tag. Default = 0 | |
32 | ||
33 | =item * C<outfile> - defaults to C<file.rmtag.fastq> for and input file named C<file.fastq> | |
34 | ||
35 | =back | |
36 | ||
37 | =head1 METHODS | |
38 | ||
39 | C<remove_tags> - output all reads with the tags removed to C<outfile> | |
40 | ||
41 | =cut | |
42 | 4 | |
43 | 5 | use Moose; |
44 | 6 | use Bio::Tradis::Parser::Fastq; |
119 | 81 | __PACKAGE__->meta->make_immutable; |
120 | 82 | no Moose; |
121 | 83 | 1; |
84 | ||
85 | __END__ | |
86 | ||
87 | =pod | |
88 | ||
89 | =encoding UTF-8 | |
90 | ||
91 | =head1 NAME | |
92 | ||
93 | Bio::Tradis::RemoveTags - Remove tags from seqs a fastq file | |
94 | ||
95 | =head1 VERSION | |
96 | ||
97 | version 1.4.5 | |
98 | ||
99 | =head1 SYNOPSIS | |
100 | ||
101 | Reads in a fastq file with tradis tags already attached to the start of the sequence | |
102 | Removes tags from the sequence and quality strings | |
103 | Outputs a file *.rmtag.fastq unless an out file is specified | |
104 | ||
105 | use Bio::Tradis::RemoveTags; | |
106 | ||
107 | my $pipeline = Bio::Tradis::RemoveTags->new(fastqfile => 'abc', tag => 'abc'); | |
108 | $pipeline->remove_tags(); | |
109 | ||
110 | =head1 PARAMETERS | |
111 | ||
112 | =head2 Required | |
113 | ||
114 | =over | |
115 | ||
116 | =item * C<fastqfile> - path to/name of file to filter | |
117 | ||
118 | =item * C<tag> - TraDIS tag to remove | |
119 | ||
120 | =back | |
121 | ||
122 | =head2 Optional | |
123 | ||
124 | =over | |
125 | ||
126 | =item * C<mismatch> - number of mismatches to allow when removing the tag. Default = 0 | |
127 | ||
128 | =item * C<outfile> - defaults to C<file.rmtag.fastq> for and input file named C<file.fastq> | |
129 | ||
130 | =back | |
131 | ||
132 | =head1 METHODS | |
133 | ||
134 | C<remove_tags> - output all reads with the tags removed to C<outfile> | |
135 | ||
136 | =head1 AUTHOR | |
137 | ||
138 | Carla Cummins <path-help@sanger.ac.uk> | |
139 | ||
140 | =head1 COPYRIGHT AND LICENSE | |
141 | ||
142 | This software is Copyright (c) 2013 by Wellcome Trust Sanger Institute. | |
143 | ||
144 | This is free software, licensed under: | |
145 | ||
146 | The GNU General Public License, Version 3, June 2007 | |
147 | ||
148 | =cut |
0 | 0 | package Bio::Tradis::RunTradis; |
1 | ||
1 | $Bio::Tradis::RunTradis::VERSION = '1.4.5'; | |
2 | 2 | # ABSTRACT: Perform all steps required for a tradis analysis |
3 | 3 | |
4 | =head1 SYNOPSIS | |
5 | ||
6 | Takes a fastq file with tags already attached, filters the tags matching user input, | |
7 | removes the tags, maps to a reference (.fa) and generates insertion site plots for use in | |
8 | Artemis (or other genome browsers), mapped BAM files for each lane and a statistical summary of the analysis. | |
9 | ||
10 | use Bio::Tradis::RunTradis; | |
11 | ||
12 | my $pipeline = Bio::Tradis::RunTradis->new( | |
13 | fastqfile => 'abc', | |
14 | reference => 'abc', | |
15 | tag => 'abc', | |
16 | tagdirection => '5'|'3' | |
17 | ); | |
18 | $pipeline->run_tradis(); | |
19 | ||
20 | =head1 PARAMETERS | |
21 | ||
22 | =head2 Required | |
23 | ||
24 | =over | |
25 | ||
26 | =item * C<fastqfile> - file containing a list of fastqs (gzipped or raw) to run the | |
27 | complete analysis on. This includes all (including | |
28 | intermediary format conversion and sorting) steps starting from | |
29 | filtering. | |
30 | ||
31 | =item * C<reference> - path to/name of reference genome in fasta format (.fa) | |
32 | ||
33 | =back | |
34 | ||
35 | =head2 Optional | |
36 | ||
37 | =over | |
38 | ||
39 | =item * C<mismatch> - number of mismatches to allow when filtering/removing the tag. Default = 0 | |
40 | ||
41 | =item * C<tagdirection> - direction of the tag, 5' or 3'. Default = 3 | |
42 | ||
43 | =item * C<mapping_score> - cutoff value for mapping score when creating insertion site plots. Default = 30 | |
44 | ||
45 | =item * C<tag> - TraDIS tag to filter and then remove | |
46 | ||
47 | =back | |
48 | ||
49 | =head1 METHODS | |
50 | ||
51 | C<run_tradis> - run complete analysis with given parameters | |
52 | ||
53 | =cut | |
54 | 4 | |
55 | 5 | use Cwd; |
56 | 6 | use Moose; |
519 | 469 | __PACKAGE__->meta->make_immutable; |
520 | 470 | no Moose; |
521 | 471 | 1; |
472 | ||
473 | __END__ | |
474 | ||
475 | =pod | |
476 | ||
477 | =encoding UTF-8 | |
478 | ||
479 | =head1 NAME | |
480 | ||
481 | Bio::Tradis::RunTradis - Perform all steps required for a tradis analysis | |
482 | ||
483 | =head1 VERSION | |
484 | ||
485 | version 1.4.5 | |
486 | ||
487 | =head1 SYNOPSIS | |
488 | ||
489 | Takes a fastq file with tags already attached, filters the tags matching user input, | |
490 | removes the tags, maps to a reference (.fa) and generates insertion site plots for use in | |
491 | Artemis (or other genome browsers), mapped BAM files for each lane and a statistical summary of the analysis. | |
492 | ||
493 | use Bio::Tradis::RunTradis; | |
494 | ||
495 | my $pipeline = Bio::Tradis::RunTradis->new( | |
496 | fastqfile => 'abc', | |
497 | reference => 'abc', | |
498 | tag => 'abc', | |
499 | tagdirection => '5'|'3' | |
500 | ); | |
501 | $pipeline->run_tradis(); | |
502 | ||
503 | =head1 PARAMETERS | |
504 | ||
505 | =head2 Required | |
506 | ||
507 | =over | |
508 | ||
509 | =item * C<fastqfile> - file containing a list of fastqs (gzipped or raw) to run the | |
510 | complete analysis on. This includes all (including | |
511 | intermediary format conversion and sorting) steps starting from | |
512 | filtering. | |
513 | ||
514 | =item * C<reference> - path to/name of reference genome in fasta format (.fa) | |
515 | ||
516 | =back | |
517 | ||
518 | =head2 Optional | |
519 | ||
520 | =over | |
521 | ||
522 | =item * C<mismatch> - number of mismatches to allow when filtering/removing the tag. Default = 0 | |
523 | ||
524 | =item * C<tagdirection> - direction of the tag, 5' or 3'. Default = 3 | |
525 | ||
526 | =item * C<mapping_score> - cutoff value for mapping score when creating insertion site plots. Default = 30 | |
527 | ||
528 | =item * C<tag> - TraDIS tag to filter and then remove | |
529 | ||
530 | =back | |
531 | ||
532 | =head1 METHODS | |
533 | ||
534 | C<run_tradis> - run complete analysis with given parameters | |
535 | ||
536 | =head1 AUTHOR | |
537 | ||
538 | Carla Cummins <path-help@sanger.ac.uk> | |
539 | ||
540 | =head1 COPYRIGHT AND LICENSE | |
541 | ||
542 | This software is Copyright (c) 2013 by Wellcome Trust Sanger Institute. | |
543 | ||
544 | This is free software, licensed under: | |
545 | ||
546 | The GNU General Public License, Version 3, June 2007 | |
547 | ||
548 | =cut |
0 | 0 | package Bio::Tradis::Samtools; |
1 | ||
1 | $Bio::Tradis::Samtools::VERSION = '1.4.5'; | |
2 | 2 | # ABSTRACT: Change samtools syntax depending on version found |
3 | 3 | |
4 | =head1 SYNOPSIS | |
5 | ||
6 | Change samtools syntax depending on version found | |
7 | use Bio::Tradis::Samtools; | |
8 | ||
9 | my $obj = Bio::Tradis::Samtools->new( | |
10 | exec => 'samtools' | |
11 | ); | |
12 | ||
13 | $obj->run_sort(); | |
14 | ||
15 | =cut | |
16 | 4 | |
17 | 5 | use Moose; |
18 | 6 | use File::Spec; |
99 | 87 | |
100 | 88 | 1; |
101 | 89 | |
90 | __END__ | |
91 | ||
92 | =pod | |
93 | ||
94 | =encoding UTF-8 | |
95 | ||
96 | =head1 NAME | |
97 | ||
98 | Bio::Tradis::Samtools - Change samtools syntax depending on version found | |
99 | ||
100 | =head1 VERSION | |
101 | ||
102 | version 1.4.5 | |
103 | ||
104 | =head1 SYNOPSIS | |
105 | ||
106 | Change samtools syntax depending on version found | |
107 | use Bio::Tradis::Samtools; | |
108 | ||
109 | my $obj = Bio::Tradis::Samtools->new( | |
110 | exec => 'samtools' | |
111 | ); | |
112 | ||
113 | $obj->run_sort(); | |
114 | ||
115 | =head1 AUTHOR | |
116 | ||
117 | Carla Cummins <path-help@sanger.ac.uk> | |
118 | ||
119 | =head1 COPYRIGHT AND LICENSE | |
120 | ||
121 | This software is Copyright (c) 2013 by Wellcome Trust Sanger Institute. | |
122 | ||
123 | This is free software, licensed under: | |
124 | ||
125 | The GNU General Public License, Version 3, June 2007 | |
126 | ||
127 | =cut |
0 | 0 | package Bio::Tradis::TradisPlot; |
1 | $Bio::Tradis::TradisPlot::VERSION = '1.4.5'; | |
2 | # ABSTRACT: Generate plots as part of a tradis analysis | |
1 | 3 | |
2 | # ABSTRACT: Generate plots as part of a tradis analysis | |
4 | ||
5 | use Moose; | |
6 | use Bio::Tradis::Analysis::InsertSite; | |
7 | ||
8 | has 'mappedfile' => ( is => 'rw', isa => 'Str', required => 1 ); | |
9 | has 'outfile' => | |
10 | ( is => 'rw', isa => 'Str', required => 1, default => 'tradis.plot' ); | |
11 | has 'mapping_score' => | |
12 | ( is => 'rw', isa => 'Int', required => 1, default => 30 ); | |
13 | ||
14 | sub plot { | |
15 | my ($self) = @_; | |
16 | ||
17 | Bio::Tradis::Analysis::InsertSite->new( | |
18 | filename => $self->mappedfile, | |
19 | output_base_filename => $self->outfile, | |
20 | mapping_score => $self->mapping_score | |
21 | )->create_plots; | |
22 | ||
23 | return 1; | |
24 | } | |
25 | ||
26 | __PACKAGE__->meta->make_immutable; | |
27 | no Moose; | |
28 | 1; | |
29 | ||
30 | __END__ | |
31 | ||
32 | =pod | |
33 | ||
34 | =encoding UTF-8 | |
35 | ||
36 | =head1 NAME | |
37 | ||
38 | Bio::Tradis::TradisPlot - Generate plots as part of a tradis analysis | |
39 | ||
40 | =head1 VERSION | |
41 | ||
42 | version 1.4.5 | |
3 | 43 | |
4 | 44 | =head1 SYNOPSIS |
5 | 45 | |
31 | 71 | |
32 | 72 | C<plot> - create insertion site plots for reads in `mappedfile`. This file will be readable by the L<Artemis genome browser|http://www.sanger.ac.uk/resources/software/artemis/> |
33 | 73 | |
74 | =head1 AUTHOR | |
75 | ||
76 | Carla Cummins <path-help@sanger.ac.uk> | |
77 | ||
78 | =head1 COPYRIGHT AND LICENSE | |
79 | ||
80 | This software is Copyright (c) 2013 by Wellcome Trust Sanger Institute. | |
81 | ||
82 | This is free software, licensed under: | |
83 | ||
84 | The GNU General Public License, Version 3, June 2007 | |
85 | ||
34 | 86 | =cut |
35 | ||
36 | use Moose; | |
37 | use Bio::Tradis::Analysis::InsertSite; | |
38 | ||
39 | has 'mappedfile' => ( is => 'rw', isa => 'Str', required => 1 ); | |
40 | has 'outfile' => | |
41 | ( is => 'rw', isa => 'Str', required => 1, default => 'tradis.plot' ); | |
42 | has 'mapping_score' => | |
43 | ( is => 'rw', isa => 'Int', required => 1, default => 30 ); | |
44 | ||
45 | sub plot { | |
46 | my ($self) = @_; | |
47 | ||
48 | Bio::Tradis::Analysis::InsertSite->new( | |
49 | filename => $self->mappedfile, | |
50 | output_base_filename => $self->outfile, | |
51 | mapping_score => $self->mapping_score | |
52 | )->create_plots; | |
53 | ||
54 | return 1; | |
55 | } | |
56 | ||
57 | __PACKAGE__->meta->make_immutable; | |
58 | no Moose; | |
59 | 1; |
0 | 0 | use strict; |
1 | 1 | use warnings; |
2 | 2 | package Bio::Tradis; |
3 | $Bio::Tradis::VERSION = '1.4.5'; | |
4 | # ABSTRACT: Bio-Tradis contains a set of tools to analyse the output from TraDIS analyses. For more information on the TraDIS method, see http://genome.cshlp.org/content/19/12/2308 | |
3 | 5 | |
4 | # ABSTRACT: Bio-Tradis contains a set of tools to analyse the output from TraDIS analyses. For more information on the TraDIS method, see http://genome.cshlp.org/content/19/12/2308 | |
6 | 1; | |
7 | ||
8 | __END__ | |
9 | ||
10 | =pod | |
11 | ||
12 | =encoding UTF-8 | |
13 | ||
14 | =head1 NAME | |
15 | ||
16 | Bio::Tradis - Bio-Tradis contains a set of tools to analyse the output from TraDIS analyses. For more information on the TraDIS method, see http://genome.cshlp.org/content/19/12/2308 | |
17 | ||
18 | =head1 VERSION | |
19 | ||
20 | version 1.4.5 | |
5 | 21 | |
6 | 22 | =head1 SYNOPSIS |
7 | 23 | |
25 | 41 | |
26 | 42 | Most of these functions are available as standalone scripts or as perl modules. |
27 | 43 | |
44 | =head1 AUTHOR | |
45 | ||
46 | Carla Cummins <path-help@sanger.ac.uk> | |
47 | ||
48 | =head1 COPYRIGHT AND LICENSE | |
49 | ||
50 | This software is Copyright (c) 2013 by Wellcome Trust Sanger Institute. | |
51 | ||
52 | This is free software, licensed under: | |
53 | ||
54 | The GNU General Public License, Version 3, June 2007 | |
28 | 55 | |
29 | 56 | =cut |
30 | 1; |
0 | do { my $x = { | |
1 | 'configure' => { | |
2 | 'requires' => { | |
3 | 'ExtUtils::MakeMaker' => '0' | |
4 | } | |
5 | }, | |
6 | 'develop' => { | |
7 | 'requires' => { | |
8 | 'File::Spec' => '0', | |
9 | 'IO::Handle' => '0', | |
10 | 'IPC::Open3' => '0', | |
11 | 'Test::More' => '0', | |
12 | 'Test::Pod' => '1.41', | |
13 | 'perl' => '5.006' | |
14 | } | |
15 | }, | |
16 | 'runtime' => { | |
17 | 'requires' => { | |
18 | 'Bio::Seq' => '0', | |
19 | 'Bio::SeqIO' => '0', | |
20 | 'Cwd' => '0', | |
21 | 'Data::Dumper' => '0', | |
22 | 'Exception::Class' => '0', | |
23 | 'File::Basename' => '0', | |
24 | 'File::Path' => '0', | |
25 | 'File::Spec' => '0', | |
26 | 'File::Temp' => '0', | |
27 | 'FindBin' => '0', | |
28 | 'Getopt::Long' => '0', | |
29 | 'Moose' => '0', | |
30 | 'Text::CSV' => '0', | |
31 | 'Try::Tiny' => '0', | |
32 | 'strict' => '0', | |
33 | 'warnings' => '0' | |
34 | } | |
35 | }, | |
36 | 'test' => { | |
37 | 'recommends' => { | |
38 | 'CPAN::Meta' => '2.120900' | |
39 | }, | |
40 | 'requires' => { | |
41 | 'Env::Path' => '0.18', | |
42 | 'ExtUtils::MakeMaker' => '0', | |
43 | 'File::Spec' => '0', | |
44 | 'Test::Exception' => '0', | |
45 | 'Test::Files' => '0', | |
46 | 'Test::More' => '0', | |
47 | 'Test::Most' => '0' | |
48 | } | |
49 | } | |
50 | }; | |
51 | $x; | |
52 | }⏎ |
0 | #!perl | |
1 | ||
2 | use strict; | |
3 | use warnings; | |
4 | ||
5 | # This test was generated by Dist::Zilla::Plugin::Test::ReportPrereqs 0.027 | |
6 | ||
7 | use Test::More tests => 1; | |
8 | ||
9 | use ExtUtils::MakeMaker; | |
10 | use File::Spec; | |
11 | ||
12 | # from $version::LAX | |
13 | my $lax_version_re = | |
14 | qr/(?: undef | (?: (?:[0-9]+) (?: \. | (?:\.[0-9]+) (?:_[0-9]+)? )? | |
15 | | | |
16 | (?:\.[0-9]+) (?:_[0-9]+)? | |
17 | ) | (?: | |
18 | v (?:[0-9]+) (?: (?:\.[0-9]+)+ (?:_[0-9]+)? )? | |
19 | | | |
20 | (?:[0-9]+)? (?:\.[0-9]+){2,} (?:_[0-9]+)? | |
21 | ) | |
22 | )/x; | |
23 | ||
24 | # hide optional CPAN::Meta modules from prereq scanner | |
25 | # and check if they are available | |
26 | my $cpan_meta = "CPAN::Meta"; | |
27 | my $cpan_meta_pre = "CPAN::Meta::Prereqs"; | |
28 | my $HAS_CPAN_META = eval "require $cpan_meta; $cpan_meta->VERSION('2.120900')" && eval "require $cpan_meta_pre"; ## no critic | |
29 | ||
30 | # Verify requirements? | |
31 | my $DO_VERIFY_PREREQS = 1; | |
32 | ||
33 | sub _max { | |
34 | my $max = shift; | |
35 | $max = ( $_ > $max ) ? $_ : $max for @_; | |
36 | return $max; | |
37 | } | |
38 | ||
39 | sub _merge_prereqs { | |
40 | my ($collector, $prereqs) = @_; | |
41 | ||
42 | # CPAN::Meta::Prereqs object | |
43 | if (ref $collector eq $cpan_meta_pre) { | |
44 | return $collector->with_merged_prereqs( | |
45 | CPAN::Meta::Prereqs->new( $prereqs ) | |
46 | ); | |
47 | } | |
48 | ||
49 | # Raw hashrefs | |
50 | for my $phase ( keys %$prereqs ) { | |
51 | for my $type ( keys %{ $prereqs->{$phase} } ) { | |
52 | for my $module ( keys %{ $prereqs->{$phase}{$type} } ) { | |
53 | $collector->{$phase}{$type}{$module} = $prereqs->{$phase}{$type}{$module}; | |
54 | } | |
55 | } | |
56 | } | |
57 | ||
58 | return $collector; | |
59 | } | |
60 | ||
61 | my @include = qw( | |
62 | ||
63 | ); | |
64 | ||
65 | my @exclude = qw( | |
66 | ||
67 | ); | |
68 | ||
69 | # Add static prereqs to the included modules list | |
70 | my $static_prereqs = do './t/00-report-prereqs.dd'; | |
71 | ||
72 | # Merge all prereqs (either with ::Prereqs or a hashref) | |
73 | my $full_prereqs = _merge_prereqs( | |
74 | ( $HAS_CPAN_META ? $cpan_meta_pre->new : {} ), | |
75 | $static_prereqs | |
76 | ); | |
77 | ||
78 | # Add dynamic prereqs to the included modules list (if we can) | |
79 | my ($source) = grep { -f } 'MYMETA.json', 'MYMETA.yml'; | |
80 | my $cpan_meta_error; | |
81 | if ( $source && $HAS_CPAN_META | |
82 | && (my $meta = eval { CPAN::Meta->load_file($source) } ) | |
83 | ) { | |
84 | $full_prereqs = _merge_prereqs($full_prereqs, $meta->prereqs); | |
85 | } | |
86 | else { | |
87 | $cpan_meta_error = $@; # capture error from CPAN::Meta->load_file($source) | |
88 | $source = 'static metadata'; | |
89 | } | |
90 | ||
91 | my @full_reports; | |
92 | my @dep_errors; | |
93 | my $req_hash = $HAS_CPAN_META ? $full_prereqs->as_string_hash : $full_prereqs; | |
94 | ||
95 | # Add static includes into a fake section | |
96 | for my $mod (@include) { | |
97 | $req_hash->{other}{modules}{$mod} = 0; | |
98 | } | |
99 | ||
100 | for my $phase ( qw(configure build test runtime develop other) ) { | |
101 | next unless $req_hash->{$phase}; | |
102 | next if ($phase eq 'develop' and not $ENV{AUTHOR_TESTING}); | |
103 | ||
104 | for my $type ( qw(requires recommends suggests conflicts modules) ) { | |
105 | next unless $req_hash->{$phase}{$type}; | |
106 | ||
107 | my $title = ucfirst($phase).' '.ucfirst($type); | |
108 | my @reports = [qw/Module Want Have/]; | |
109 | ||
110 | for my $mod ( sort keys %{ $req_hash->{$phase}{$type} } ) { | |
111 | next if $mod eq 'perl'; | |
112 | next if grep { $_ eq $mod } @exclude; | |
113 | ||
114 | my $file = $mod; | |
115 | $file =~ s{::}{/}g; | |
116 | $file .= ".pm"; | |
117 | my ($prefix) = grep { -e File::Spec->catfile($_, $file) } @INC; | |
118 | ||
119 | my $want = $req_hash->{$phase}{$type}{$mod}; | |
120 | $want = "undef" unless defined $want; | |
121 | $want = "any" if !$want && $want == 0; | |
122 | ||
123 | my $req_string = $want eq 'any' ? 'any version required' : "version '$want' required"; | |
124 | ||
125 | if ($prefix) { | |
126 | my $have = MM->parse_version( File::Spec->catfile($prefix, $file) ); | |
127 | $have = "undef" unless defined $have; | |
128 | push @reports, [$mod, $want, $have]; | |
129 | ||
130 | if ( $DO_VERIFY_PREREQS && $HAS_CPAN_META && $type eq 'requires' ) { | |
131 | if ( $have !~ /\A$lax_version_re\z/ ) { | |
132 | push @dep_errors, "$mod version '$have' cannot be parsed ($req_string)"; | |
133 | } | |
134 | elsif ( ! $full_prereqs->requirements_for( $phase, $type )->accepts_module( $mod => $have ) ) { | |
135 | push @dep_errors, "$mod version '$have' is not in required range '$want'"; | |
136 | } | |
137 | } | |
138 | } | |
139 | else { | |
140 | push @reports, [$mod, $want, "missing"]; | |
141 | ||
142 | if ( $DO_VERIFY_PREREQS && $type eq 'requires' ) { | |
143 | push @dep_errors, "$mod is not installed ($req_string)"; | |
144 | } | |
145 | } | |
146 | } | |
147 | ||
148 | if ( @reports ) { | |
149 | push @full_reports, "=== $title ===\n\n"; | |
150 | ||
151 | my $ml = _max( map { length $_->[0] } @reports ); | |
152 | my $wl = _max( map { length $_->[1] } @reports ); | |
153 | my $hl = _max( map { length $_->[2] } @reports ); | |
154 | ||
155 | if ($type eq 'modules') { | |
156 | splice @reports, 1, 0, ["-" x $ml, "", "-" x $hl]; | |
157 | push @full_reports, map { sprintf(" %*s %*s\n", -$ml, $_->[0], $hl, $_->[2]) } @reports; | |
158 | } | |
159 | else { | |
160 | splice @reports, 1, 0, ["-" x $ml, "-" x $wl, "-" x $hl]; | |
161 | push @full_reports, map { sprintf(" %*s %*s %*s\n", -$ml, $_->[0], $wl, $_->[1], $hl, $_->[2]) } @reports; | |
162 | } | |
163 | ||
164 | push @full_reports, "\n"; | |
165 | } | |
166 | } | |
167 | } | |
168 | ||
169 | if ( @full_reports ) { | |
170 | diag "\nVersions for all modules listed in $source (including optional ones):\n\n", @full_reports; | |
171 | } | |
172 | ||
173 | if ( $cpan_meta_error || @dep_errors ) { | |
174 | diag "\n*** WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING ***\n"; | |
175 | } | |
176 | ||
177 | if ( $cpan_meta_error ) { | |
178 | my ($orig_source) = grep { -f } 'MYMETA.json', 'MYMETA.yml'; | |
179 | diag "\nCPAN::Meta->load_file('$orig_source') failed with: $cpan_meta_error\n"; | |
180 | } | |
181 | ||
182 | if ( @dep_errors ) { | |
183 | diag join("\n", | |
184 | "\nThe following REQUIRED prerequisites were not satisfied:\n", | |
185 | @dep_errors, | |
186 | "\n" | |
187 | ); | |
188 | } | |
189 | ||
190 | pass; | |
191 | ||
192 | # vim: ts=4 sts=4 sw=4 et: |
0 | #!/usr/bin/env perl | |
1 | ||
2 | use Test::Most; | |
3 | plan tests => 6; | |
4 | bail_on_fail if 0; | |
5 | use Env::Path 0.18 'PATH'; | |
6 | ||
7 | ok(scalar PATH->Whence($_), "$_ in PATH") for qw(awk samtools gunzip gzip smalt tabix); | |
8 |
0 | use 5.006; | |
1 | use strict; | |
2 | use warnings; | |
3 | ||
4 | # this test was generated with Dist::Zilla::Plugin::Test::Compile 2.058 | |
5 | ||
6 | use Test::More; | |
7 | ||
8 | plan tests => 35; | |
9 | ||
10 | my @module_files = ( | |
11 | 'Bio/Tradis.pm', | |
12 | 'Bio/Tradis/AddTagsToSeq.pm', | |
13 | 'Bio/Tradis/Analysis/Exceptions.pm', | |
14 | 'Bio/Tradis/Analysis/InsertSite.pm', | |
15 | 'Bio/Tradis/CombinePlots.pm', | |
16 | 'Bio/Tradis/CommandLine/AddTags.pm', | |
17 | 'Bio/Tradis/CommandLine/CheckTags.pm', | |
18 | 'Bio/Tradis/CommandLine/FilterFastqTags.pm', | |
19 | 'Bio/Tradis/CommandLine/PlotCombine.pm', | |
20 | 'Bio/Tradis/CommandLine/PlotTradis.pm', | |
21 | 'Bio/Tradis/CommandLine/RemoveFastqTags.pm', | |
22 | 'Bio/Tradis/CommandLine/RunMapping.pm', | |
23 | 'Bio/Tradis/CommandLine/TradisAnalysis.pm', | |
24 | 'Bio/Tradis/CommandLine/TradisBam.pm', | |
25 | 'Bio/Tradis/DetectTags.pm', | |
26 | 'Bio/Tradis/Exception.pm', | |
27 | 'Bio/Tradis/FilterTags.pm', | |
28 | 'Bio/Tradis/Map.pm', | |
29 | 'Bio/Tradis/Parser/Bam.pm', | |
30 | 'Bio/Tradis/Parser/Cigar.pm', | |
31 | 'Bio/Tradis/Parser/Fastq.pm', | |
32 | 'Bio/Tradis/RemoveTags.pm', | |
33 | 'Bio/Tradis/RunTradis.pm', | |
34 | 'Bio/Tradis/Samtools.pm', | |
35 | 'Bio/Tradis/TradisPlot.pm' | |
36 | ); | |
37 | ||
38 | my @scripts = ( | |
39 | 'bin/add_tradis_tags', | |
40 | 'bin/bacteria_tradis', | |
41 | 'bin/check_tradis_tags', | |
42 | 'bin/combine_tradis_plots', | |
43 | 'bin/filter_tradis_tags', | |
44 | 'bin/remove_tradis_tags', | |
45 | 'bin/tradis_gene_insert_sites', | |
46 | 'bin/tradis_merge_plots', | |
47 | 'bin/tradis_plot' | |
48 | ); | |
49 | ||
50 | # no fake home requested | |
51 | ||
52 | my @switches = ( | |
53 | -d 'blib' ? '-Mblib' : '-Ilib', | |
54 | ); | |
55 | ||
56 | use File::Spec; | |
57 | use IPC::Open3; | |
58 | use IO::Handle; | |
59 | ||
60 | open my $stdin, '<', File::Spec->devnull or die "can't open devnull: $!"; | |
61 | ||
62 | my @warnings; | |
63 | for my $lib (@module_files) | |
64 | { | |
65 | # see L<perlfaq8/How can I capture STDERR from an external command?> | |
66 | my $stderr = IO::Handle->new; | |
67 | ||
68 | diag('Running: ', join(', ', map { my $str = $_; $str =~ s/'/\\'/g; q{'} . $str . q{'} } | |
69 | $^X, @switches, '-e', "require q[$lib]")) | |
70 | if $ENV{PERL_COMPILE_TEST_DEBUG}; | |
71 | ||
72 | my $pid = open3($stdin, '>&STDERR', $stderr, $^X, @switches, '-e', "require q[$lib]"); | |
73 | binmode $stderr, ':crlf' if $^O eq 'MSWin32'; | |
74 | my @_warnings = <$stderr>; | |
75 | waitpid($pid, 0); | |
76 | is($?, 0, "$lib loaded ok"); | |
77 | ||
78 | shift @_warnings if @_warnings and $_warnings[0] =~ /^Using .*\bblib/ | |
79 | and not eval { +require blib; blib->VERSION('1.01') }; | |
80 | ||
81 | if (@_warnings) | |
82 | { | |
83 | warn @_warnings; | |
84 | push @warnings, @_warnings; | |
85 | } | |
86 | } | |
87 | ||
88 | foreach my $file (@scripts) | |
89 | { SKIP: { | |
90 | open my $fh, '<', $file or warn("Unable to open $file: $!"), next; | |
91 | my $line = <$fh>; | |
92 | ||
93 | close $fh and skip("$file isn't perl", 1) unless $line =~ /^#!\s*(?:\S*perl\S*)((?:\s+-\w*)*)(?:\s*#.*)?$/; | |
94 | @switches = (@switches, split(' ', $1)) if $1; | |
95 | ||
96 | close $fh and skip("$file uses -T; not testable with PERL5LIB", 1) | |
97 | if grep { $_ eq '-T' } @switches and $ENV{PERL5LIB}; | |
98 | ||
99 | my $stderr = IO::Handle->new; | |
100 | ||
101 | diag('Running: ', join(', ', map { my $str = $_; $str =~ s/'/\\'/g; q{'} . $str . q{'} } | |
102 | $^X, @switches, '-c', $file)) | |
103 | if $ENV{PERL_COMPILE_TEST_DEBUG}; | |
104 | ||
105 | my $pid = open3($stdin, '>&STDERR', $stderr, $^X, @switches, '-c', $file); | |
106 | binmode $stderr, ':crlf' if $^O eq 'MSWin32'; | |
107 | my @_warnings = <$stderr>; | |
108 | waitpid($pid, 0); | |
109 | is($?, 0, "$file compiled ok"); | |
110 | ||
111 | shift @_warnings if @_warnings and $_warnings[0] =~ /^Using .*\bblib/ | |
112 | and not eval { +require blib; blib->VERSION('1.01') }; | |
113 | ||
114 | # in older perls, -c output is simply the file portion of the path being tested | |
115 | if (@_warnings = grep { !/\bsyntax OK$/ } | |
116 | grep { chomp; $_ ne (File::Spec->splitpath($file))[2] } @_warnings) | |
117 | { | |
118 | warn @_warnings; | |
119 | push @warnings, @_warnings; | |
120 | } | |
121 | } } | |
122 | ||
123 | ||
124 | ||
125 | is(scalar(@warnings), 0, 'no warnings found') | |
126 | or diag 'got warnings: ', ( Test::More->can('explain') ? Test::More::explain(\@warnings) : join("\n", '', @warnings) ); | |
127 | ||
128 |