Coder Social home page Coder Social logo

arnie's People

Contributors

biocanter avatar dirkweissenborn avatar gnye8 avatar hwaymentsteele avatar mrigankpawagi avatar oscartackstrom avatar philpham8 avatar ramyarangan avatar ratthachat avatar rhiju avatar rkretsch avatar tkaragianes avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

arnie's Issues

hotknots path setting

I had trouble with HotKnots too, but eventually I went to

/home/groups/rhiju/rkretsch/PK/HotKnots_v2.0/bin/

And ran the command line

/HotKnots -noPS -s GGGAAAACCC -m DP -p params/parameters_DP03.txt

And that worked. When I went back to Thomas' PKAnalysis.py wrapper, I was also able get HotKnots working.

There is some stuff within HotKnots itself regarding relative paths โ€” which would be worth troubleshooting.

From @rkretsch :

in the wrapper in arnie, I literally had to have it move to the hotknots folder and run in there and move back because I could not get hotknots to run (on any machine) outside its folder

It looks like they have updated hotknots since when I wrote this wrapper though, so may be worth Thomas
investigating what improvements they made and if its better explicitly requiring the latest hotknots

Docs pass for Arnie

Arnie documentation is out-of-date and missing key information. We have a group of tasks related to updating the documentation:

  • Documentation site that can be linked to easily, in Github, PyPI, etc
  • Documentation of various functions and how we expect them to be maintained (e.g, why is pk_predict different from mfe, mae, etc)
  • Document how to add new functionality to arnie
  • Document MFE vs MAE to reduce confusion
  • Document use on Sherlock
  • Document interaction with conda and conda packages

which version of python?

Hello, I am struggling to get this program to work. Can you tell me:

  1. does this work with python 2.7 or only python 3?
  2. am I able to use this package outside of my working directory?
  3. I am trying to use mfe with ONLY EternaFold installed. I am receiving an error as it's trying to use vienna. Is this not possible?
    I followed the setup instructions "You don't have to install all of the packages described here for Arnie to work. Your needs will dictate what other packages you set up."

Pip and/or conda installable

Ideally remove the necessity of adding a folder to your pythonpath. Would be a nice bonus if the package location was handled a little more user-friendly than the text file.

Documentation for sherlock

There was a desire to have a Das lab specific documentation on how to run this on Sherlock, including module that need to be loaded for each package and an example arnie_file with previous installs of packages.

Incorrect output from `convert_bp_list_to_dotbracket`

Caught by David Cox and me during Ribonanza paper writing and testing on CASP15 targets:

Here's code snippet:

#!/usr/bin/python3
from arnie.utils import *
from ast import literal_eval

bp = literal_eval('[[0, 362], [1, 361], [2, 360], [3, 359], [4, 358], [5, 357], [6, 356], [7, 355], [8, 354], [9, 26], [10, 25], [11, 24], [12, 23], [13, 22], [14, 21], [15, 20], [27, 71], [28, 70], [29, 69], [30, 68], [32, 66], [33, 65], [34, 64], [35, 63], [36, 62], [37, 61], [38, 53], [39, 52], [40, 51], [41, 50], [42, 49], [54, 135], [55, 134], [56, 133], [57, 132], [58, 131], [59, 130], [72, 353], [73, 352], [74, 298], [75, 297], [76, 296], [77, 295], [78, 294], [79, 293], [80, 292], [81, 291], [82, 290], [83, 289], [84, 288], [86, 286], [87, 285], [89, 283], [95, 280], [102, 265], [103, 264], [104, 263], [106, 261], [107, 260], [108, 259], [109, 258], [110, 257], [111, 256], [112, 255], [113, 254], [114, 253], [115, 149], [116, 148], [118, 146], [119, 145], [120, 144], [121, 143], [123, 141], [124, 140], [125, 139], [126, 138], [127, 137], [150, 167], [151, 166], [152, 165], [153, 164], [154, 163], [155, 162], [156, 161], [168, 252], [169, 251], [170, 187], [171, 186], [172, 185], [173, 184], [174, 183], [175, 182], [176, 181], [188, 205], [189, 204], [190, 203], [191, 202], [192, 201], [193, 200], [194, 199], [206, 250], [207, 249], [208, 248], [210, 246], [212, 244], [213, 243], [214, 242], [215, 241], [216, 240], [217, 232], [218, 231], [219, 230], [220, 229], [221, 228], [233, 319], [234, 318], [235, 317], [236, 316], [237, 315], [238, 314], [299, 333], [300, 332], [301, 331], [302, 330], [303, 329], [304, 328], [305, 327], [307, 325], [308, 324], [309, 323], [310, 322], [311, 321], [334, 351], [335, 350], [336, 349], [337, 348], [338, 347], [339, 346], [340, 345]]')
dbn = convert_bp_list_to_dotbracket(bp,363)
print(dbn)

The output is:

((((((((((((((((....)))))))((((.(((((((((((......)))))[[[[[[.)))))).))))(((((((((((((.((.(.....(......(((.(((((((((((.((((.(((((..]]]]]].))))).)))).))(((((((....)))))))(((((((((....)))))))(((((((....)))))))(((.(.((((((((((......))))).......))))).).)))))))))))))).)))..............)..).)).)))))))))))(((((((.(((((.........))))).)))))))(((((((....))))))))))))))))))

But it should be:

((((((((((((((((....)))))))((((.(((((((((((......)))))[[[[[[.)))))).))))(((((((((((((.((.(.....(......(((.(((((((((((.((((.(((((..]]]]]].))))).)))).))(((((((....)))))))(((((((((....)))))))(((((((....)))))))(((.(.((((((((((......)))))[[[[[[.))))).).)))))))))))))).)))..............)..).)).)))))))))))(((((((.(((((..]]]]]].))))).)))))))(((((((....))))))))))))))))))

That is, the second kissing loop ([[[[[[,]]]]]]) is missing.

Tagging @rkretsch for advice or a hotfix, and @tkaragianes for help with then updating pip (which doesn't seem to have pk_predictors at all?)

Predictors separation into bpp, mfe, mea, pk - restructuring

Currently the separation of predictors into bpp, mfe, mea, and pk often does not make much intuitive sense. Eg there are predictors in mfe that can predict PKs and there is repeat functionality between mea and pk. I would suggest reconsidering these separation and creating more intuitive groupings.

Orphaned functions in utils

There are functions in utils (placed in the last section "ORPHANED" in utils) are not used elsewhere in the package nor clearly documented. These should either be documented on how to use, taken outside utils into their own module if they have distinct utility, or deprecated.

Segmentation fault running linear partition

Hi!
I am trying to run linear partition from arnie and it fails with segmentation fault running the following code, for instance.

In [5]: pfunc.pfunc_linearpartition_('AAAAAAAAA', package='vienna')
---------------------------------------------------------------------------
Exception                                 Traceback (most recent call last)
<ipython-input-5-fa89ff9f43a7> in <module>
----> 1 pfunc.pfunc_linearpartition_('AAAAAAAAA', package='vienna')

/app/arnie/arnie/pfunc.py in pfunc_linearpartition_(seq, bpps, package, beam_size, return_free_energy, DEBUG)
    551 
    552     if p.returncode:
--> 553         raise Exception('LinearPartition failed: on %s\n%s' % (seq, stderr))
    554 
    555     os.remove("%s.sh" % tmp_command)

Exception: LinearPartition failed: on AAAAAAAAA
b'Segmentation fault (core dumped)\n'

I installed LinearPartition and ViennaRNA as described in the setup docs.

LinearPartition seems to work from the command line, so i suspect that something within ARNIE is not working properly?

$ echo GGGCUCGUAGAUCAGCGGUAGAUCGCUUCCUUCGCAAGGAAGCCCUGGGUUCAAAUCCCAGCGAGUCCACCA | ./linearpartition -o output2
Log Partition Coefficient: 15.88272
Outputing base pairing probability matrix to output2...
Done!

I am running on Debian10 inside docker.

argument 'pseudo' should be 'pseudoknots'?

return pfunc(seq, package=package, T=T, dangles=dangles, coaxial=coaxial, pseudo=pseudo, dna=dna, beam_size = beam_size,

free_energy('GGGUUUCCC',package='vienna')
Traceback (most recent call last):
....
    return pfunc(seq, package=package, T=T, dangles=dangles, coaxial=coaxial, pseudo=pseudo, dna=dna, beam_size = beam_size,
TypeError: pfunc() got an unexpected keyword argument 'pseudo'

Small typo

I may be wrong but I think

	if not ensemble:
		structure = structure.replace('.','x')

is meant to be

	if not ensemble:
		constraint = constraint.replace('.','x')

in free_energy.py.

Arnie without eternafold key

Hello, I am trying to use Arnie without eternafold installed. I find that my system crashes unless I change

    if 'eternafoldparams' not in return_dct.keys():                                         
      return_dct['eternafoldparams'] = "%s/../params/EternaFoldParams.v1" % return_dct['eternafold']

to

    if 'eternafoldparams' not in return_dct.keys() and 'eternafold' in return_dct.keys():                                         
      return_dct['eternafoldparams'] = "%s/../params/EternaFoldParams.v1" % return_dct['eternafold']

at the end of utils.py because my dict doesn't have the 'eternafold ' key. Figured I'd post this here as a suggestion but maybe I'm just using Arnie incorrectly

Structure representation

Currently an RNA secondary structure is represented in many different formats, including file-formats, with all the conversation handled ad-hoc. Creating a secondary structure class would alleviate a lot readability issues and prevent future bugs.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.