Hello All,
According to
https://openweathermap.desk.com/customer/portal/questions/17275918-daily-forecast-api-not-working

*"If you have Free account it is not supposed to work.*

*It work only works from the Startup plan.*

*http://openweathermap.org/price <http://openweathermap.org/price>"*

So, I think the best way is just to get the information as before and just
filter it to use the mid-day results or something like that.

Kind regards,

Pedro

P.S. This was entertaining! ;-)

On Tue, 10 Sep 2019 at 21:49, rgd <notifications@github.com> wrote:

> OK, so I was starting to write something up to report to the support center
> at openweathermap.org and wanted to double-check and get my facts
> straight,
> so I started retesting things.
>
> If I use cURL on the command line and use a URL with
> ".../data/2.5/find?q=London ..." - it works (meaning I see what looks like
> valid JSON data being returned from their server).
> If I use a URL with "/data/2.5/forecast/daily?q=London ..." it DOESN'T
> work.
> If I use a URL with "/data/2.5/weather?q=London ..." it DOES work.
> If I use a URL with "/data/2.5/forecast?q=London ..." it DOES work
> If I use a URL with "/data/2.5/forecast/hourly?q=London ..." it DOESN'T
> work.
>
> (Same results if done in Chrome. Tried different "&mode=" values and when
> one of the URLs above works, most of the time the HTML and XML modes work
> too. But not if the URL doesn't work without the &mode=.)
>
> I'm curious if you try the other URL formats if some of the same ones work
> and don't work for you now that you've created a new APPID.
>
> It seems like there's something wrong with the "/daily" and "/hourly"
> handlers in their code.
>
> When I get a chance, I'll try to enter a support case with them and see if
> we get any reply.
>
> Regards,
>
> Rob
>
>
> On Tue, Sep 10, 2019 at 1:54 PM Rob Davenport <rob.davenport@gmail.com>
> wrote:
>
> > Hmm. I know my account wasn't working at first, which is why I tried
> > creating another APPID, and I've tried both. Still I could try creating a
> > whole new account and see if *that* works...
> >
> > Maybe it would be good to enter a bug in their system: <
> > https://openweathermap.desk.com/customer/portal/emails/new>
> >
> > When I get some more time, I think I'll do that (unless someone else
> wants
> > to first).
> >
> > Regards,
> >
> > Rob
> >
> > On Tue, Sep 10, 2019 at 12:17 PM Pedro Gomes <notifications@github.com>
> > wrote:
> >
> >> Hi Rob,
> >> My account worked before I created the new APPID. I think I created it 5
> >> years ago or something like that.
> >> I recon it can be that the APPIDs take some time to get active and thus
> I
> >> am not able to get it working just yet.
> >>
> >> Kind regards,
> >> Pedro
> >>
> >>
> >> On Tue, 10 Sep 2019 at 17:13, rgd <notifications@github.com> wrote:
> >>
> >> > Hi Pedro,
> >> >
> >> > I'm using my openweathermap.org username - which is my email address:
> >> > rob.davenport@gmail.com.
> >> >
> >> > And Aaron, yes, I purposely did not remove my appid from that earlier
> >> email
> >> > in case someone else wanted to test with it. I have a second appid
> that
> >> I
> >> > made when trying to see if that was the problem and I'll just use that
> >> in
> >> > the future. I forgot to mention I'd left it in in the email. I
> >> > appreciate the caution.
> >> >
> >> > I'm glad someone else is seeing the issue now too though. So it might
> be
> >> > something to do with the accounts and their update to the new
> version. I
> >> > wonder if creating a whole new account will work...
> >> >
> >> > Rob
> >> >
> >> > On Tue, Sep 10, 2019 at 11:50 AM Pedro Gomes <
> notifications@github.com>
> >> > wrote:
> >> >
> >> > > Now that I have changed for a new APPID I get the username and
> >> password
> >> > and
> >> > > I cannot authenticate. Can you please enlighten me and tell me what
> is
> >> > the
> >> > > user name you are using. Is it the openweather username or the email
> >> with
> >> > > which you login in the browser?
> >> > >
> >> > > Kind regards,
> >> > > Pedro
> >> > >
> >> > > On Tue, 10 Sep 2019 at 09:14, azynheira <azynheira@gmail.com>
> wrote:
> >> > >
> >> > > > Hi,
> >> > > > That was a long, but full of good information email😋 I will have
> >> some
> >> > > > time at work today sigh😆 I will try to reproduce your use
> cases...
> >> and
> >> > > > report back!
> >> > > >
> >> > > > Kind regards,
> >> > > > Pedro
> >> > > >
> >> > > >
> >> > > >
> >> > > > Sent from my Samsung Galaxy smartphone.
> >> > > >
> >> > > > -------- Original message --------
> >> > > > From: rgd <notifications@github.com>
> >> > > > Date: 09/09/2019 9:06 pm (GMT+00:00)
> >> > > > To: "aaronbieber/sunshine.el" <sunshine.el@noreply.github.com>
> >> > > > Cc: Pedro Gomes <azynheira@gmail.com>, Author <
> >> > author@noreply.github.com
> >> > > >
> >> > > > Subject: Re: [aaronbieber/sunshine.el] Changes to fit the new API.
> >> > Before
> >> > > > it was every 6h. New daily API gives the same result as before.
> >> Needed
> >> > to
> >> > > > tweak the JSON parsing (a980ed7)
> >> > > >
> >> > > > Got a few minutes to look at it again at work. Odd things:
> >> > > > - with this latest version of sunshine.el, it's asking me for
> >> > > > username/password to openweather, *twice*. I assume that will be
> >> > > > eventually cached once this gets worked out on my machine. Though
> I
> >> > also
> >> > > > did add the gnupg stuff with gnutls on some of my systems. Not
> sure
> >> if
> >> > > > that has anything to do with it or not. But a while back
> >> > > sunshine-forecast
> >> > > > didn't prompt me for the credentials.
> >> > > >
> >> > > > On the work machines in Chrome these URLs work:
> >> > > >
> >> > > >
> >> > > >
> >> > >
> >> >
> >>
> http://api.openweathermap.org/data/2.5/forecast?id=524901&APPID=9e78b67db4d4e5c678aa0efb35551ac9
> >> > > >
> >> > > >
> >> > > >
> >> > >
> >> >
> >>
> https://api.openweathermap.org/data/2.5/forecast?q=Akron,US&APPID=9e78b67db4d4e5c678aa0efb35551ac9
> >> > > >
> >> > > >
> >> > > > (one with ?id= and one with ?q=, one http and one https). But if I
> >> put
> >> > > > "daily/" in there :
> >> > > >
> >> > > >
> >> > > >
> >> > >
> >> >
> >>
> https://api.openweathermap.org/data/2.5/forecast/daily?q=Akron,US&APPID=9e78b67db4d4e5c678aa0efb35551ac9
> >> > > >
> >> > > >
> >> > > > I get: "{"cod":401, "message": "Invalid API key. Please see
> >> > > > http://openweathermap.org/faq#error401 for more info."}" But it's
> >> the
> >> > > > exact same APPID key. Unless there's difference in formatting I'm
> >> > > missing.
> >> > > >
> >> > > > Remove "/daily" and it works again (could be cached I suppose). I
> >> can't
> >> > > > explain it.
> >> > > >
> >> > > >
> >> > > > OK - started emacs -Q, then did
> >> > > > (add-to-list 'load-path "<path to 0905 sunshine package in elpa
> >> > cache>")
> >> > > > (require 'sunshine)
> >> > > > (setq sunshine-appid "<my app id ... 9878 blah... above>")
> >> > > >
> >> > > > M-x sunshine-forecast
> >> > > >
> >> > > > <have to enter username and password to openweathermap.org
> _twice_
> >> > then>
> >> > > >
> >> > > > Username [for
> >> http://api.openweatheramap.org/data/2.5/forecast/daily?.
> >> > ..
> >> > > ]:
> >> > > >
> >> > > >
> >> > > > error in process filter: sunshine-build-simple-forecast: Wrong
> type
> >> > > > argument: listp, t
> >> > > > error in process filter: Wrong type argument: listp, t
> >> > > >
> >> > > > Sigh. So it doesn't seem to be anything in my .emac configuration.
> >> > > > It could be my installation. Since I'm on Windows and have a bunch
> >> of
> >> > GNU
> >> > > > utilities on here, it's possible one of them is interfering if
> >> sunshine
> >> > > > shells out to run some command. Have had that problem before. I
> >> suppose
> >> > > > I could try on my Ubuntu VM and see if it works there.
> >> > > >
> >> > > > OK - running 27.0.50 on my emacs VM. Updated sunshine to the 0905
> >> > > > version. Tried sunshine-forecast, entered my openweathermap
> username
> >> > and
> >> > > > password - and I get "Wrong authorization used for
> >> > > >
> >> > > >
> >> > >
> >> >
> >>
> http://api.openweathermap.org/data/2.5/forecast/daily?q=Akron,US&APPID9e78
> >> > > ..
> >> > > > ."
> >> > > > !! ?? if I go to (https) openweathermap.org in Firefox on the
> >> Ubuntu
> >> > VM,
> >> > > > I can log in successfully using the same username and password. (I
> >> did
> >> > > try
> >> > > > several times to make sure I wasn't mistyping it and I don't
> think I
> >> > > was.)
> >> > > >
> >> > > > I tried reverting to the previous 2018 version of sunshine but
> that
> >> > > didn't
> >> > > > work as it's now giving me the "Wrong type argument: listp, t"
> >> error.
> >> > > >
> >> > > > I suspect I'm mucking things up more than helping.
> >> > > >
> >> > > > But bottom line right now - I'm running Emacs 27.0.50 (as it
> >> reports)
> >> > on
> >> > > > several Windows and one Ubuntu VM, mostly at work behind corporate
> >> > > firewall
> >> > > > but also at home, running "emacs -Q" to avoid any of my .emacs.d
> >> > > > configuration, do (add-to-list 'load-path <sunshine package in
> >> > > .emacs\elpa
> >> > > > location>), (require 'sunshine), (setq sunshine-appd "9e78..."),
> >> (setq
> >> > > > url-proxy-services <for corporate firewall - which works>), then
> M-x
> >> > > sun-f
> >> > > > and blam: Wrong type argument: listp, t.
> >> > > >
> >> > > > And now I'm getting that even when trying to go back to 2018
> >> sunshine
> >> > > > version. Wondering if there's a cache not getting cleared (besides
> >> > > > ~/.emacs.d/url/cache). Using -Q should not be using any of my
> config
> >> > but
> >> > > > be stock emacs, but maybe I need to do a fresh installation. Maybe
> >> spin
> >> > > up
> >> > > > another VM and put *just* emacs-27.0.50 on it - (and the
> >> dependencies)
> >> > > and
> >> > > > try that.
> >> > > >
> >> > > > Sorry for the very long email, I assume you will just skim it and
> >> > that's
> >> > > > fine. Thanks for letting me talk out the problem 'out loud' with
> >> you.
> >> > > > I'll keep at it and let you know if I figure anything out.
> >> > > >
> >> > > > Regards,
> >> > > >
> >> > > > Rob
> >> > > >
> >> > > >
> >> > > >
> >> > > >
> >> > > >
> >> > > >
> >> > > >
> >> > > > On Mon, Sep 9, 2019 at 8:40 AM Rob Davenport <
> >> rob.davenport@gmail.com>
> >> > > > wrote:
> >> > > >
> >> > > > > OK, thanks! That's good information. So it most likely is
> >> something
> >> > in
> >> > > > > my configuration - which is the usual problem I think.
> >> > > > > I will try from an emacs -Q and then bisect my configuration
> >> until I
> >> > > find
> >> > > > > the culprit. :)
> >> > > > > I'll let you know what I find.
> >> > > > >
> >> > > > > Regards,
> >> > > > >
> >> > > > > Rob
> >> > > > >
> >> > > > > On Mon, Sep 9, 2019 at 5:28 AM Pedro Gomes <
> >> notifications@github.com
> >> > >
> >> > > > > wrote:
> >> > > > >
> >> > > > >> Hi,
> >> > > > >> I have tested with the latest version 27 from emacs repo.
> >> > > > >>
> >> > > > >>
> >> > > > >>
> >> > > > >> *GNU Emacs 27.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
> >> > > 3.22.30)
> >> > > > of
> >> > > > >> 2019-09-09*
> >> > > > >>
> >> > > > >> I have the following config for me::
> >> > > > >> ;;; Package: sunshine
> >> > > > >> (use-package sunshine
> >> > > > >> :defer t
> >> > > > >> :config (progn
> >> > > > >> (setq sunshine-location "Glasgow, GB"
> >> > > > >> sunshine-appid "your appid token"
> >> > > > >> sunshine-show-icons t
> >> > > > >> sunshine-units (quote metric))))
> >> > > > >>
> >> > > > >> *It works fine.*
> >> > > > >>
> >> > > > >> Tell me your configuration and I can re-test it as well. Check
> if
> >> > for
> >> > > > >> example you dont have 2 versions installed; I dont know what
> >> kind of
> >> > > > >> behaviour can be expected from it.
> >> > > > >>
> >> > > > >> Kind regards,
> >> > > > >> Pedro
> >> > > > >>
> >> > > > >>
> >> > > > >>
> >> > > > >>
> >> > > > >> On Fri, 6 Sep 2019 at 21:46, rgd <notifications@github.com>
> >> wrote:
> >> > > > >>
> >> > > > >> > Hi Pedro,
> >> > > > >> >
> >> > > > >> > I can't explain yet why it wasn't working in the browser -
> yet
> >> I
> >> > was
> >> > > > >> seeing
> >> > > > >> > data in the emacs url cache that looked fresh and good.
> >> > > > >> > I would assume I didn't copy the URL from sunshine-make-url
> >> > > correctly
> >> > > > or
> >> > > > >> > something.
> >> > > > >> >
> >> > > > >> > I'll try from home when I'm not behind a firewall and see if
> >> that
> >> > > > makes
> >> > > > >> any
> >> > > > >> > difference.
> >> > > > >> >
> >> > > > >> > I'm suspecting maybe now I don't have something defined that
> I
> >> > > should
> >> > > > >> have
> >> > > > >> > for the changes in these lines to work for me:
> >> > > > >> >
> >> > > > >> > (cons 'min (format "%s %s" (round (cdr (assoc 'temp_min (cdr
> >> > (assoc
> >> > > > >> 'main
> >> > > > >> > day))))) temp-symbol))
> >> > > > >> > (cons 'max (format "%s %s" (round (cdr (assoc 'temp_max (cdr
> >> > (assoc
> >> > > > >> 'main
> >> > > > >> > day))))) temp-symbol))))
> >> > > > >> > (cons 'min (format "%s %s" (round (cdr (assoc 'min (cdr
> (assoc
> >> > 'temp
> >> > > > >> > day))))) temp-symbol))
> >> > > > >> > (cons 'max (format "%s %s" (round (cdr (assoc 'max (cdr
> (assoc
> >> > 'temp
> >> > > > >> > day))))) temp-symbol))))
> >> > > > >> >
> >> > > > >> > temp_min become min and main becomes temp. I'll have to debug
> >> it a
> >> > > bit
> >> > > > >> > more.
> >> > > > >> >
> >> > > > >> > (And I'll try again to run emacs -Q and just load sunshine
> and
> >> see
> >> > > if
> >> > > > >> it'll
> >> > > > >> > work there. Then it's a matter of bisecting my config until I
> >> find
> >> > > the
> >> > > > >> > conflicting package.)
> >> > > > >> >
> >> > > > >> > Thanks for replying so fast. I may not get to it this weekend
> >> > > (playing
> >> > > > >> > guitar with my wife at a show and have to prep for that) but
> >> will
> >> > at
> >> > > > >> least
> >> > > > >> > look at this again on Monday.
> >> > > > >> >
> >> > > > >> > Thanks,
> >> > > > >> >
> >> > > > >> > Rob
> >> > > > >> >
> >> > > > >> >
> >> > > > >> >
> >> > > > >> >
> >> > > > >> > On Fri, Sep 6, 2019 at 3:58 PM Pedro Gomes <
> >> > > notifications@github.com>
> >> > > > >> > wrote:
> >> > > > >> >
> >> > > > >> > > Hi,
> >> > > > >> > > If using the api call directly in a browser does not work,
> >> That
> >> > > > means
> >> > > > >> > > something is wrong. I tested the change myself and it
> works!
> >> I
> >> > am
> >> > > > only
> >> > > > >> > > using existing APIs from openweather. The previous one
> would
> >> not
> >> > > > give
> >> > > > >> the
> >> > > > >> > > correct results because it was giving it every 6h so the
> days
> >> > > would
> >> > > > >> not
> >> > > > >> > be
> >> > > > >> > > correct.
> >> > > > >> > >
> >> > > > >> > > I added the daily part in order to give daily forecasts and
> >> not
> >> > > > every
> >> > > > >> 6h.
> >> > > > >> > >
> >> > > > >> > > Contact me and we could analyze it together.
> >> > > > >> > >
> >> > > > >> > > Kind regards,
> >> > > > >> > > Pedro
> >> > > > >> > >
> >> > > > >> > > Sent from my Samsung Galaxy smartphone.
> >> > > > >> > > Hi,If using the api call directly in a browser does not
> work,
> >> > That
> >> > > > >> > > menosSent from my Samsung Galaxy smartphone.
> >> > > > >> > > -------- Original message --------
> >> > > > >> > > From: rgd <notifications@github.com>
> >> > > > >> > > Date: 06/09/2019 8:47 pm (GMT+00:00)
> >> > > > >> > > To: "aaronbieber/sunshine.el" <
> >> sunshine.el@noreply.github.com>
> >> > > > >> > > Cc: Pedro Gomes <azynheira@gmail.com>, Author <
> >> > > > >> author@noreply.github.com
> >> > > > >> > >
> >> > > > >> > > Subject: Re: [aaronbieber/sunshine.el] Changes to fit the
> new
> >> > API.
> >> > > > >> Before
> >> > > > >> > > it was every 6h. New daily API gives the same result as
> >> before.
> >> > > > >> Needed to
> >> > > > >> > > tweak the JSON parsing (a980ed7)
> >> > > > >> > >
> >> > > > >> > > This commit seems to have broken sunshine for me. (I had it
> >> > > working,
> >> > > > >> with
> >> > > > >> > > key/appid from openweathermap.org, etc.) Now I get "Wrong
> >> type
> >> > > > >> argument:
> >> > > > >> > > numberp, nil". If I take the output of sunshine-make-url
> and
> >> > enter
> >> > > > it
> >> > > > >> in
> >> > > > >> > a
> >> > > > >> > > browser directly, the new format results in an "invalid
> >> APPID"
> >> > > > error.
> >> > > > >> If
> >> > > > >> > I
> >> > > > >> > > remove the "/daily", that URL works (I see the JSON reply
> >> data
> >> > in
> >> > > > the
> >> > > > >> > > browser). But if I tweak the URL in sunshine-make-url to
> >> remove
> >> > > the
> >> > > > >> > > "/daily" doing a sunshine-forecast doesn't work - I get
> Wrong
> >> > type
> >> > > > >> > > argument: listp, t
> >> > > > >> > > I've tried with ?q= and ?id= using the query value in
> >> > > > >> sunshine-location
> >> > > > >> > or
> >> > > > >> > > the location ID for the latter case. Nothing is working in
> >> > > sunshine.
> >> > > > >> > > Now it's quite possible I've some other package or
> >> configuration
> >> > > > >> setting
> >> > > > >> > > that's messing with this, and I will try to test it with -Q
> >> and
> >> > > just
> >> > > > >> > > sunshine loaded (but that's a little complicated); it just
> >> > seemed
> >> > > > odd
> >> > > > >> > that
> >> > > > >> > > removing the "/daily" worked in the browser (with the
> >> > > > sunshine-created
> >> > > > >> > URL)
> >> > > > >> > > but not when tweaking the function to also remove the
> >> "/daily".
> >> > I
> >> > > > >> don't
> >> > > > >> > > know why they URL wouldn't work for me, though I am behind
> a
> >> > > > corporate
> >> > > > >> > > firewall at the moment. May try later when home.
> >> > > > >> > >
> >> > > > >> > > —
> >> > > > >> > > You are receiving this because you authored the thread.
> >> > > > >> > > Reply to this email directly, view it on GitHub
> >> > > > >> > > <
> >> > > > >> > >
> >> > > > >> >
> >> > > > >>
> >> > > >
> >> > >
> >> >
> >>
> https://github.com/aaronbieber/sunshine.el/commit/a980ed7df29f3d2db68676a6bd449135257e8f79?email_source=notifications&email_token=AACUVHBF3HFSXDCWKORRTHDQIKXVZA5CNFSM4IUMPBEKYY3PNVWWK3TUL52HS4DFVVBW63LNNF2EG33NNVSW45FKMNXW23LFNZ2F62LEZYBBLUTP#commitcomment-34984559
> >> > > > >> > > >,
> >> > > > >> > > or mute the thread
> >> > > > >> > > <
> >> > > > >> > >
> >> > > > >> >
> >> > > > >>
> >> > > >
> >> > >
> >> >
> >>
> https://github.com/notifications/unsubscribe-auth/AACUVHBMEHQJMMLDITWO4X3QIKXVZANCNFSM4IUMPBEA
> >> > > > >> > > >
> >> > > > >> > > .
> >> > > > >> > > -------- Original message --------From: rgd <
> >> > > > notifications@github.com
> >> > > > >> >
> >> > > > >> > > Date: 06/09/2019 8:47 pm (GMT+00:00) To:
> >> > > "aaronbieber/sunshine.el" <
> >> > > > >> > > sunshine.el@noreply.github.com> Cc: Pedro Gomes <
> >> > > > azynheira@gmail.com
> >> > > > >> >,
> >> > > > >> > > Author <author@noreply.github.com> Subject: Re:
> >> > > > >> > [aaronbieber/sunshine.el]
> >> > > > >> > > Changes to fit the new API. Before it was every 6h. New
> daily
> >> > API
> >> > > > >> gives
> >> > > > >> > the
> >> > > > >> > > same result as before. Needed to tweak the JSON parsing
> >> > (a980ed7)
> >> > > > This
> >> > > > >> > > commit seems to have broken sunshine for me. (I had it
> >> working,
> >> > > with
> >> > > > >> > > key/appid from openweathermap.org, etc.) Now I get "Wrong
> >> type
> >> > > > >> argument:
> >> > > > >> > > numberp, nil". If I take the output of sunshine-make-url
> and
> >> > enter
> >> > > > it
> >> > > > >> in
> >> > > > >> > > a browser directly, the new format results in an "invalid
> >> APPID"
> >> > > > >> error.
> >> > > > >> > > If I remove the "/daily", that URL works (I see the JSON
> >> reply
> >> > > data
> >> > > > in
> >> > > > >> > the
> >> > > > >> > > browser). But if I tweak the URL in sunshine-make-url to
> >> remove
> >> > > the
> >> > > > >> > > "/daily" doing a sunshine-forecast doesn't work - I get
> Wrong
> >> > type
> >> > > > >> > > argument: listp, t
> >> > > > >> > > I've tried with ?q= and ?id= using the query value in
> >> > > > >> sunshine-location
> >> > > > >> > or
> >> > > > >> > > the location ID for the latter case. Nothing is working in
> >> > > sunshine.
> >> > > > >> > > Now it's quite possible I've some other package or
> >> configuration
> >> > > > >> setting
> >> > > > >> > > that's messing with this, and I will try to test it with -Q
> >> and
> >> > > just
> >> > > > >> > > sunshine loaded (but that's a little complicated); it just
> >> > seemed
> >> > > > odd
> >> > > > >> > that
> >> > > > >> > > removing the "/daily" worked in the browser (with the
> >> > > > sunshine-created
> >> > > > >> > URL)
> >> > > > >> > > but not when tweaking the function to also remove the
> >> "/daily".
> >> > I
> >> > > > >> don't
> >> > > > >> > > know why they URL wouldn't work for me, though I am behind
> a
> >> > > > corporate
> >> > > > >> > > firewall at the moment. May try later when home.
> >> > > > >> > >
> >> > > > >> > > —You are receiving this because you authored the
> >> thread.Reply to
> >> > > > this
> >> > > > >> > email
> >> > > > >> > > directly, view it on GitHub, or mute the thread.
> >> > > > >> > > [
> >> > > > >> > > {
> >> > > > >> > > "@context": "http://schema.org",
> >> > > > >> > > "@type": "EmailMessage",
> >> > > > >> > > "potentialAction": {
> >> > > > >> > > "@type": "ViewAction",
> >> > > > >> > > "target": "
> >> > > > >> > >
> >> > > > >> > >
> >> > > > >> >
> >> > > > >>
> >> > > >
> >> > >
> >> >
> >>
> https://github.com/aaronbieber/sunshine.el/commit/a980ed7df29f3d2db68676a6bd449135257e8f79?email_source=notifications\u0026email_token=AACUVHBF3HFSXDCWKORRTHDQIKXVZA5CNFSM4IUMPBEKYY3PNVWWK3TUL52HS4DFVVBW63LNNF2EG33NNVSW45FKMNXW23LFNZ2F62LEZYBBLUTP#commitcomment-34984559
> >> > > > >> > > ",
> >> > > > >> > > "url": "
> >> > > > >> > >
> >> > > > >> > >
> >> > > > >> >
> >> > > > >>
> >> > > >
> >> > >
> >> >
> >>
> https://github.com/aaronbieber/sunshine.el/commit/a980ed7df29f3d2db68676a6bd449135257e8f79?email_source=notifications\u0026email_token=AACUVHBF3HFSXDCWKORRTHDQIKXVZA5CNFSM4IUMPBEKYY3PNVWWK3TUL52HS4DFVVBW63LNNF2EG33NNVSW45FKMNXW23LFNZ2F62LEZYBBLUTP#commitcomment-34984559
> >> > > > >> > > ",
> >> > > > >> > > "name": "View Commit"
> >> > > > >> > > },
> >> > > > >> > > "description": "View this Commit on GitHub",
> >> > > > >> > > "publisher": {
> >> > > > >> > > "@type": "Organization",
> >> > > > >> > > "name": "GitHub",
> >> > > > >> > > "url": "https://github.com"
> >> > > > >> > > }
> >> > > > >> > > }
> >> > > > >> > > ]
> >> > > > >> > >
> >> > > > >> > > —
> >> > > > >> > > You are receiving this because you commented.
> >> > > > >> > > Reply to this email directly, view it on GitHub
> >> > > > >> > > <
> >> > > > >> >
> >> > > > >>
> >> > > >
> >> > >
> >> >
> >>
> https://github.com/aaronbieber/sunshine.el/commit/a980ed7df29f3d2db68676a6bd449135257e8f79?email_source=notifications&email_token=AABTODFYZZWMDZ5R6VQMMVLQIKY6XA5CNFSM4IUMPBEKYY3PNVWWK3TUL52HS4DFVVBW63LNNF2EG33NNVSW45FKMNXW23LFNZ2F62LEZYBBLUXM#commitcomment-34984684
> >> > > > >> > >,
> >> > > > >> > > or mute the thread
> >> > > > >> > > <
> >> > > > >> >
> >> > > > >>
> >> > > >
> >> > >
> >> >
> >>
> https://github.com/notifications/unsubscribe-auth/AABTODDQ34G6MW5VGZHLVKDQIKY6XANCNFSM4IUMPBEA
> >> > > > >> > >
> >> > > > >> > > .
> >> > > > >> > >
> >> > > > >> >
> >> > > > >> > —
> >> > > > >> > You are receiving this because you authored the thread.
> >> > > > >> > Reply to this email directly, view it on GitHub
> >> > > > >> > <
> >> > > > >>
> >> > > >
> >> > >
> >> >
> >>
> https://github.com/aaronbieber/sunshine.el/commit/a980ed7df29f3d2db68676a6bd449135257e8f79?email_source=notifications&email_token=AACUVHA6NPEDDNPNTWBT6ITQIK6RDA5CNFSM4IUMPBEKYY3PNVWWK3TUL52HS4DFVVBW63LNNF2EG33NNVSW45FKMNXW23LFNZ2F62LEZYBBLVGX#commitcomment-34985175
> >> > > > >> >,
> >> > > > >> > or mute the thread
> >> > > > >> > <
> >> > > > >>
> >> > > >
> >> > >
> >> >
> >>
> https://github.com/notifications/unsubscribe-auth/AACUVHGMJ7H2U6FTDISXCA3QIK6RDANCNFSM4IUMPBEA
> >> > > > >> >
> >> > > > >> > .
> >> > > > >> >
> >> > > > >>
> >> > > > >> —
> >> > > > >> You are receiving this because you commented.
> >> > > > >> Reply to this email directly, view it on GitHub
> >> > > > >> <
> >> > > >
> >> > >
> >> >
> >>
> https://github.com/aaronbieber/sunshine.el/commit/a980ed7df29f3d2db68676a6bd449135257e8f79?email_source=notifications&email_token=AABTODAXQUVS5RPCTWQAHB3QIYJKVA5CNFSM4IUMPBEKYY3PNVWWK3TUL52HS4DFVVBW63LNNF2EG33NNVSW45FKMNXW23LFNZ2F62LEZYBBMFBE#commitcomment-35001380
> >> > > > >,
> >> > > > >> or mute the thread
> >> > > > >> <
> >> > > >
> >> > >
> >> >
> >>
> https://github.com/notifications/unsubscribe-auth/AABTODBFSU3T4B3QJNJZLSLQIYJKVANCNFSM4IUMPBEA
> >> > > > >
> >> > > > >> .
> >> > > > >>
> >> > > > >
> >> > > >
> >> > > > —
> >> > > > You are receiving this because you authored the thread.
> >> > > > Reply to this email directly, view it on GitHub
> >> > > > <
> >> > >
> >> >
> >>
> https://github.com/aaronbieber/sunshine.el/commit/a980ed7df29f3d2db68676a6bd449135257e8f79?email_source=notifications&email_token=AACUVHFMYZWQUDZTZH4VBIDQI2UEHA5CNFSM4IUMPBEKYY3PNVWWK3TUL52HS4DFVVBW63LNNF2EG33NNVSW45FKMNXW23LFNZ2F62LEZYBBMOE4#commitcomment-35010716
> >> > > >,
> >> > > > or mute the thread
> >> > > > <
> >> > >
> >> >
> >>
> https://github.com/notifications/unsubscribe-auth/AACUVHEOIPQOIMJON4AF6YLQI2UEHANCNFSM4IUMPBEA
> >> > > >
> >> > > > .
> >> > > >
> >> > >
> >> > > —
> >> > > You are receiving this because you commented.
> >> > > Reply to this email directly, view it on GitHub
> >> > > <
> >> >
> >>
> https://github.com/aaronbieber/sunshine.el/commit/a980ed7df29f3d2db68676a6bd449135257e8f79?email_source=notifications&email_token=AABTODEFZQCHM5IESQADPFDQI665TA5CNFSM4IUMPBEKYY3PNVWWK3TUL52HS4DFVVBW63LNNF2EG33NNVSW45FKMNXW23LFNZ2F62LEZYBBM3LE#commitcomment-35024228
> >> > >,
> >> > > or mute the thread
> >> > > <
> >> >
> >>
> https://github.com/notifications/unsubscribe-auth/AABTODBFLN4ZYTRGKVA3VKTQI665TANCNFSM4IUMPBEA
> >> > >
> >> > > .
> >> > >
> >> >
> >> > —
> >> > You are receiving this because you authored the thread.
> >> > Reply to this email directly, view it on GitHub
> >> > <
> >>
> https://github.com/aaronbieber/sunshine.el/commit/a980ed7df29f3d2db68676a6bd449135257e8f79?email_source=notifications&email_token=AACUVHBNWAUY33TWX5LQRM3QI7BUHA5CNFSM4IUMPBEKYY3PNVWWK3TUL52HS4DFVVBW63LNNF2EG33NNVSW45FKMNXW23LFNZ2F62LEZYBBM3XM#commitcomment-35024620
> >> >,
> >> > or mute the thread
> >> > <
> >>
> https://github.com/notifications/unsubscribe-auth/AACUVHEQDM3DNWLGRMAD53DQI7BUHANCNFSM4IUMPBEA
> >> >
> >> > .
> >> >
> >>
> >> —
> >> You are receiving this because you commented.
> >> Reply to this email directly, view it on GitHub
> >> <
> https://github.com/aaronbieber/sunshine.el/commit/a980ed7df29f3d2db68676a6bd449135257e8f79?email_source=notifications&email_token=AABTODCV5SBIO3GQOOXTIA3QI7CADA5CNFSM4IUMPBEKYY3PNVWWK3TUL52HS4DFVVBW63LNNF2EG33NNVSW45FKMNXW23LFNZ2F62LEZYBBM3ZJ#commitcomment-35024681
> >,
> >> or mute the thread
> >> <
> https://github.com/notifications/unsubscribe-auth/AABTODGKEGVRKTWPF5BD5T3QI7CADANCNFSM4IUMPBEA
> >
> >> .
> >>
> >
>
> —
> You are receiving this because you authored the thread.
> Reply to this email directly, view it on GitHub
> <https://github.com/aaronbieber/sunshine.el/commit/a980ed7df29f3d2db68676a6bd449135257e8f79?email_source=notifications&email_token=AACUVHDSHQ57LDN4XBI26YDQJAB4ZA5CNFSM4IUMPBEKYY3PNVWWK3TUL52HS4DFVVBW63LNNF2EG33NNVSW45FKMNXW23LFNZ2F62LEZYBBM7KS#commitcomment-35028306>,
> or mute the thread
> <https://github.com/notifications/unsubscribe-auth/AACUVHBC52BKC6GHDF2QQDLQJAB4ZANCNFSM4IUMPBEA>
> .
>


No those functions exist for the Stateful side where we do all of this on the CAS-side. This is the current sigifigs tests for units and raw numbers. The ones I sent you a mail about a month ago and you thought it was a typo.

The issue here was that we have had the ability to use variables to bring options into the tests and that particular pattern has been pretty common, but now you went and toggled simplification on which broke this spectacularly. If there were some test cases for this then we might actually spot that. And in any case these answertests fixtures would probably benefit in a larger case if we had some variables mixed in there.


Successfully aliased the URL <https://lunrdigital-2yxsnq2jc.now.sh> to the following aliases:

* https://lunr.digital
* https://lunrdigital.lunr-digital.now.sh
* https://lunrdigital-git-master.lunr-digital.now.sh


That is unfortunate. For the record, I have never paid them, so I wonder why my API key works? I think this must be some bug on their side.


Is this Change Added for 3.6.2 or only for 3.6.3 version


x=4
y=2
print(x-y)
2


IBM Cloud [toolchain](https://cloud.ibm.com/devops/toolchains/2a5207e2-89be-466c-b44e-8a0f12c9ebe3?env_id=ibm%3Ayp%3Aus-south "cloud-native-toolchain-tutorial-20190909104000014"): [Delivery Pipeline](https://cloud.ibm.com/devops/pipelines/58668daf-a47d-43d3-ae7a-2e58b918a13a "sample-cloud-native-toolchain-tutorial-20190909104000014") deployed [cloud-native-toolchain-tutorial-app](https://github.com/santjaqo/cloud-native-toolchain-tutorial-app/releases/tag/deploy-ibm-yp-us-south-SGaitan-nl.ibm.com-dev-20190911-114139 "deploy-ibm-yp-us-south-SGaitan-nl.ibm.com-dev-20190911-114139") to [dev](https://console.bluemix.net/apps/b477a38c-f515-431a-9621-f195cecdc5d3?env_id=ibm:yp:us-south "ibm:yp:us-south:SGaitan@nl.ibm.com:dev"), including this commit


1. Значения атрибутов в кавычках;
2. В HTML, у атрибута width, единицей измерения по умолчанию является px, а указывать их нельзя. Нужно указывать проценты, если ты используешь эту единицу измерения;
3. У картинок можно задавать либо ширину, либо высоту, чтобы сохранить её пропорции;
4. Правильно было бы задавать ширину картинки через CSS.


Checkmarx scan results 11 Sep 2019 14:44 UTC +03:00

High
Medium
Low
Info

New
0
0
0
0

Recurrent
0
0
0
0

Fixed
0
0
0
0

 Open Viewer
Included commits

Commit ID	Owner

1e71c4b085217e0cab2013734fb62a6c80309419	@web-flow


Sorry, but for me firebase: ^6.0.0 returns:
Because my_app depends on firebase ^6.0.0-dev which doesn't match any versions, version solving failed.
pub get failed (1)

What should I do?


I can confirm the exact same behaviour ... :-) After I have deleted mine
yesterday, I does not work anymore with a new APPID - So I believe it must
be indeed a bug on their side that allows it!

Pedro
On 11/09/2019 12:39, Aaron Bieber wrote:

That is unfortunate. For the record, I have never paid them, so I wonder
why my API key works? I think this must be some bug on their side.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<https://github.com/aaronbieber/sunshine.el/commit/a980ed7df29f3d2db68676a6bd449135257e8f79?email_source=notifications&email_token=AACUVHAVCP5V3ELYBP3AA43QJDKHBA5CNFSM4IUMPBEKYY3PNVWWK3TUL52HS4DFVVBW63LNNF2EG33NNVSW45FKMNXW23LFNZ2F62LEZYBBNH5E#commitcomment-35037092>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AACUVHAFMIAWXRLFQ63VIXTQJDKHBANCNFSM4IUMPBEA>
.


It has been a long time since I have seriously used this package, or modified it in any way. Since looking back at issues and PRs, it seems that this OpenWeather API change has come up before, and I did work to pivot to a different data provider. See the conversation in #12.

It may be a better long-term solution to complete the pivot over to that new provider, which is hopefully more bug-free and provides data in the expected daily format.


I can confirm the exact same behaviour ... :-) After I have deleted mine
yesterday, It does not work anymore with a new APPID - So I believe it must
be indeed a bug on their side that allows it!

Pedro
On 11/09/2019 12:39, Aaron Bieber wrote:

That is unfortunate. For the record, I have never paid them, so I wonder
why my API key works? I think this must be some bug on their side.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<https://github.com/aaronbieber/sunshine.el/commit/a980ed7df29f3d2db68676a6bd449135257e8f79?email_source=notifications&email_token=AACUVHAVCP5V3ELYBP3AA43QJDKHBA5CNFSM4IUMPBEKYY3PNVWWK3TUL52HS4DFVVBW63LNNF2EG33NNVSW45FKMNXW23LFNZ2F62LEZYBBNH5E#commitcomment-35037092>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AACUVHAFMIAWXRLFQ63VIXTQJDKHBANCNFSM4IUMPBEA>
.


I came across this whilst trying to be very careful during porting to python3.  I was most surprised to see errors spat out from plugins/eddn.py when I thought I'd disabled that in the settings.


<details>

<summary>Submitting the task to Taskcluster failed. Details</summary>

end of the stream or a document separator is expected at line 12, column 1:
    -
    ^

</details>


<details>

<summary>Submitting the task to Taskcluster failed. Details</summary>

Schema Validation Failed!
Rejecting Schema: https://schemas.taskcluster.net/queue/v1/create-task-request.json#
Errors:
  * data.metadata.owner should match format "email"

---

* method:     createTask
* errorCode:  InputValidationError
* statusCode: 400
* time:       2019-09-11T11:45:40.235Z

</details>


Hi! This is the friendly automated conda-forge-webservice.

I updated the Github team because of this commit.

- @guzman-raphael was added to conda-forge. Welcome to conda-forge!
  Go to https://github.com/orgs/conda-forge/invitation see your invitation.

You should get push access to this feedstock and CI services.

Feel free to join the community [chat room](https://gitter.im/conda-forge/conda-forge.github.io).

NOTE: Please make sure to not push to the repository directly.
      Use branches in your fork for any changes and send a PR.
      More details [here](https://conda-forge.org/docs/maintainer/updating_pkgs.html#forking-and-pull-requests)


@Mangoland, bien, seguimos.


If you want I can prepare the changes! I am bit bored and willing to do it
if nobody objects to it :-)
Pedro

On Wed, 11 Sep 2019 at 12:44, Aaron Bieber <notifications@github.com> wrote:

> It has been a long time since I have seriously used this package, or
> modified it in any way. Since looking back at issues and PRs, it seems that
> this OpenWeather API change has come up before, and I did work to pivot to
> a different data provider. See the conversation in #12
> <https://github.com/aaronbieber/sunshine.el/issues/12>.
>
> It may be a better long-term solution to complete the pivot over to that
> new provider, which is hopefully more bug-free and provides data in the
> expected daily format.
>
> —
> You are receiving this because you authored the thread.
> Reply to this email directly, view it on GitHub
> <https://github.com/aaronbieber/sunshine.el/commit/a980ed7df29f3d2db68676a6bd449135257e8f79?email_source=notifications&email_token=AACUVHCTPMIEXKXLVGL6QF3QJDK3VA5CNFSM4IUMPBEKYY3PNVWWK3TUL52HS4DFVVBW63LNNF2EG33NNVSW45FKMNXW23LFNZ2F62LEZYBBNH65#commitcomment-35037149>,
> or mute the thread
> <https://github.com/notifications/unsubscribe-auth/AACUVHECLWFJX5VIPVOZ35DQJDK3VANCNFSM4IUMPBEA>
> .
>


Successfully aliased the URL <https://zeit-nxnr0n8hw.now.sh> to the following aliases:

* https://paige.now.sh
* https://iferr.now.sh
* https://blog.typi.tk
* https://crapp.now.sh
* https://*.blog.typi.tk
* https://trew.now.sh
* https://chug.now.sh
* https://clug.now.sh
* https://cike.now.sh
* https://theabbie.now.sh
* https://cuet.now.sh
* https://awto.js.org
* https://zeit.ooh.now.sh
* https://zeit-git-master.ooh.now.sh


Same goes for "Willy" which actually is a common first name:
https://en.wikipedia.org/wiki/Willy

Also, imho very questionable:
> number one (!)
> number two (!)
> "big school" as in "My town has a very big school."
> elephant (!)
> "I know you are but what am I" as in "You're right. **I know you are, but what am I supposed** to do about it?"
> "it takes one to know one"
> lightning (!)
> "no fair" as in "There was no fair chance for him to win this game."
> puffer (https://en.wikipedia.org/wiki/Puffer)

Probably more. I haven't checked them in detail.

It would be nice to have them removed before the next deployment tonight.


I have been watching here for a few weeks now and I am still not sure what this is for. I had hoped it would be the starting point for interactive, JAMstackified Python NOtebooks (or the R equivalent) but I am still confused. What is the Endgame here?


//一些特殊的事情
  console.log(name) //window上有name
  function demo() {

  }
  demo.name = 'kobe'//函数的name不能修改
  console.log(demo.name)
  Date.prototype = 1 //内置函数的原型不允许“废掉”
  var d = new Date()
  console.log(d.getFullYear());
  console.log(undefined in window)//true


✅ Device tests passed on TvOS on [Azure DevOps](https://dev.azure.com/devdiv/DevDiv/_build/index?buildId=3039846)(TvOS): [Html Report](http://xamarin-storage/jenkins/xamarin-macios/master/773a8562bdc51a88db85b65a6879b8dbe25c58b1/3039846/device-tests/jenkins-results/tests/index.html) ✅

# Test results

# All 113 tests passed


parameter validation can be simplified, e.g. `if(!accountId || !name || !color)`


Model name and schema should be singular `Notification`


Successfully aliased the URL <https://quiet-mn6b0c98d.now.sh> to the following aliases:

* https://quiet.vincentpoulain.now.sh
* https://quiet-git-master.vincentpoulain.now.sh


IBM Cloud [toolchain](https://cloud.ibm.com/devops/toolchains/5e262310-efc6-4aef-be9b-424193943923?env_id=ibm%3Ayp%3Aeu-gb "shipping-service-js-24-toolchain"): [Delivery Pipeline](https://cloud.ibm.com/devops/pipelines/8d127877-523b-417f-9d13-505f3d8dda7e "shipping-service-js-24-pipeline") deployed [shipping-service](https://github.com/Daddy-Badger/shipping-service/releases/tag/deploy-cnb-cluster-20190911-115206 "deploy-cnb-cluster-20190911-115206") to [cnb-cluster](https://console.bluemix.net/kubernetes/clusters/blm0q1dl06pcna355750/overview "There was a problem retrieving the space name"), including this commit


Successfully aliased the URL <https://ose-3n88mlmqu.now.sh> to the following aliases:

* https://ose.phenomen.now.sh
* https://ose-git-master.phenomen.now.sh


What if `email=null`?


Looks good to me, except it might be useful to explain when the `ipa-server-install --hostname` _is_ useful.

I was going to add that the same could be said for `--ip-address` and `IP_SERVER_IP` (see [this issue](https://github.com/freeipa/freeipa-container/issues/274)), but I notice you actually do point out in the README that `-p` should suffice.

I guess my confusion comes from starting out with the "regular" FreeIPA packages, then moving to the dockerised ones. Docker actually takes care of some options in `ipa-server-install-options` - and as you pointed out elsewhere, makes others redundant as the container never actually becomes a client.

I must say that this wasn't very clear in upstream documentation either. E.g. I thought `--mkhomedir` was like a domain-wide policy that the IPA server would push to the clients when they joined. Why else have it in `ipa-server-install-options`?


Successfully aliased the URL <https://kendraio-app-3ygne9cw2.now.sh> to the following aliases:

* https://dev.app.kendra.io
* https://kendraio-app.kendraio.now.sh
* https://kendraio-app-git-develop.kendraio.now.sh


This is correct, no? That's because % needs to be escaped for printf.


ok


Successfully aliased the URL <https://qalivestudy-1f6gvh2ph.now.sh> to the following aliases:

* https://qalivestudy.pinchukdap.now.sh
* https://qalivestudy-git-master.pinchukdap.now.sh


@JuanJoseGH06, bien


Not often but yeah sometimes had green tint, Sometimes video recording error


Done


"ticky" is only childish when used as a noun, using it as an adjective seems perfectly fine:
https://en.wiktionary.org/wiki/ticky


Collaborator: Review for this commit was created. [Link to review](/ui#review:id=1)


Collaborator: Review for this commit was created. [Link to review](/ui#review:id=2)


Commit


<details>

<summary>Submitting the task to Taskcluster failed. Details</summary>

end of the stream or a document separator is expected at line 12, column 1:
    -
    ^

</details>


Similer case for "twinkle".


Sadly, we cannot accept this one.


```
Collected errors:
 * satisfy_dependencies_for: Cannot satisfy the following dependencies for ipset-lists:
 * 	rpcd-mod-file
 * opkg_install_cmd: Cannot install package ipset-lists.
```


@Jorge-Mutonen, En esta línea te falta colocar el nombre del objeto para llamarlo y que se imprima en pantalla.


@ajgon just want to point out a couple of things that might be worth noting in documentation:

* `true` here is hazardous, because it allows uncontrolled upgrade to a potentially major version, i.e. breaking change could occur.

* The upgrade is for the installation of Chef used to execute custom cookbooks.


Successfully aliased the URL <https://version-20-ibixaxva9.now.sh> to the following aliases:

* https://tixte.now.sh
* https://version-20.tixte.now.sh
* https://version-20-git-master.tixte.now.sh


Collaborator: Review for this commit was created. [Link to review](/ui#review:id=3)


Collaborator: Review for this commit was created. [Link to review](/ui#review:id=4)


What if I want to extend the router/API to delete accounts with HTTP DELETE?


Successfully aliased the URL <https://today-i-learned-content-3vj8a1muw.now.sh> to the following aliases:

* https://today-i-learned-content.cybertec.now.sh
* https://today-i-learned-content-git-master.cybertec.now.sh


Collaborator: Review for this commit was created. [Link to review](/ui#review:id=5)


Collaborator: Review for this commit was created. [Link to review](/ui#review:id=6)


Ok, but you can set your own fee in the app.


What if this structure changes tomorrow? This code will not work.
A better test would be to lookup the database before creating an account


A few reasons:
- I would prefer that users not have to go through the `GML2` namespace to initialize a writer for v3.  I haven't yet come up with an alternative that I prefer.
- Use of `gml:coordinates` is deprecated in 3.2.2, in favor of `gml:pos` / `gml:posList` as appropriate.  I can't even find it in GML 3.3 (10-129r1), so I would prefer to settle that one way or another before releasing it.


@Jorge-Mutonen, aquí falta el número de fila y el número de columna según se te asignó: `mite[fila,columna]`


this is not the endpoint requested as per the instructions `POST/GET/DELETE /notifications`


Model/Schema should be singular `Notification`


[R/calc_K.R:2:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/calc_K.R#L2) *style:* **Lines should not be more than 80 characters.**
```r
#' @description Calculate the average number of junctions after an infinite number of generations, provided information on the initial heterozygosity, population size and the number of generations.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/calc_K.R:6:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/calc_K.R#L6) *style:* **Lines should not be more than 80 characters.**
```r
#' @param C Mean number of crossovers per meiosis (e.g. size in Morgan of the chromosome)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/calc_K.R:11:20:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/calc_K.R#L11) *style:* **Variable and function name style should be snake_case.**
```r
calc_k <- function(N = Inf,
                   ^
```
[R/calc_K.R:12:20:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/calc_K.R#L12) *style:* **Variable and function name style should be snake_case.**
```r
                   R = Inf,
                   ^
```
[R/calc_K.R:13:20:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/calc_K.R#L13) *style:* **Variable and function name style should be snake_case.**
```r
                   H_0 = 0.5,
                   ^~~
```
[R/calc_K.R:14:20:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/calc_K.R#L14) *style:* **Variable and function name style should be snake_case.**
```r
                   C = 1) {
                   ^
```
[R/calc_K.R:16:3:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/calc_K.R#L16) *style:* **Variable and function name style should be snake_case.**
```r
  K <- H_0 * C * 2 * N * R / (2 * N * C + R)
  ^
```
[R/calc_K.R:19:5:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/calc_K.R#L19) *style:* **Variable and function name style should be snake_case.**
```r
    K <- H_0 * R
    ^
```
[R/calc_K.R:23:5:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/calc_K.R#L23) *style:* **Variable and function name style should be snake_case.**
```r
    K <- H_0 * C * 2 * N
    ^
```
[R/calc_K.R:27:5:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/calc_K.R#L27) *style:* **Variable and function name style should be snake_case.**
```r
    K <- Inf
    ^
```
[R/calculate_error.R:2:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/calculate_error.R#L2) *style:* **Lines should not be more than 80 characters.**
```r
#' @description Calculate the error in the estimate of the onset of hybridisation, following Equations 3 & 4 in the Supplementary information of Janzen et al. 2018.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/calculate_error.R:7:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/calculate_error.R#L7) *style:* **Lines should not be more than 80 characters.**
```r
#' @param C Mean number of crossovers per meiosis (e.g. size in Morgan of the chromosome)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/calculate_error.R:9:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/calculate_error.R#L9) *style:* **Lines should not be more than 80 characters.**
```r
#' @param relative Boolean flag, if TRUE: return the relative error, if FALSE: return error in generations
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/calculate_error.R:15:24:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/calculate_error.R#L15) *style:* **Variable and function name style should be snake_case.**
```r
time_error <- function(J = NA,
                       ^
```
[R/calculate_error.R:16:24:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/calculate_error.R#L16) *style:* **Variable and function name style should be snake_case.**
```r
                       N = Inf,
                       ^
```
[R/calculate_error.R:17:24:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/calculate_error.R#L17) *style:* **Variable and function name style should be snake_case.**
```r
                       R = Inf,
                       ^
```
[R/calculate_error.R:18:24:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/calculate_error.R#L18) *style:* **Variable and function name style should be snake_case.**
```r
                       H_0 = 0.5,
                       ^~~
```
[R/calculate_error.R:19:24:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/calculate_error.R#L19) *style:* **Variable and function name style should be snake_case.**
```r
                       C = 1,
                       ^
```
[R/calculate_error.R:24:3:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/calculate_error.R#L24) *style:* **Variable and function name style should be snake_case.**
```r
  K <- junctions::calc_k(N, R, H_0, C)
  ^
```
[R/calculate_error.R:30:7:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/calculate_error.R#L30) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  if ( relative) return(  error)
      ^
```
[R/calculate_error.R:30:25:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/calculate_error.R#L30) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  if ( relative) return(  error)
                        ^
```
[R/calculate_MAT.R:2:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/calculate_MAT.R#L2) *style:* **Lines should not be more than 80 characters.**
```r
#' @description Function that calculates the maximum time after hybridization after which the number of junctions can still be reliably used to estimate the onset of hybridization. This is following equation 15 in Janzen et al. 2018.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/calculate_MAT.R:6:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/calculate_MAT.R#L6) *style:* **Lines should not be more than 80 characters.**
```r
#' @param C Mean number of crossovers per meiosis (e.g. size in Morgan of the chromosome)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/calculate_MAT.R:12:27:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/calculate_MAT.R#L12) *style:* **Variable and function name style should be snake_case.**
```r
calculate_mat <- function(N = Inf,
                          ^
```
[R/calculate_MAT.R:13:27:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/calculate_MAT.R#L13) *style:* **Variable and function name style should be snake_case.**
```r
                          R = Inf,
                          ^
```
[R/calculate_MAT.R:14:27:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/calculate_MAT.R#L14) *style:* **Variable and function name style should be snake_case.**
```r
                          H_0 = 0.5,
                          ^~~
```
[R/calculate_MAT.R:15:27:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/calculate_MAT.R#L15) *style:* **Variable and function name style should be snake_case.**
```r
                          C = 1) {
                          ^
```
[R/calculate_MAT.R:20:3:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/calculate_MAT.R#L20) *style:* **Variable and function name style should be snake_case.**
```r
  K <- junctions::calc_k(N, R, H_0, C)
  ^
```
[R/calculate_time.R:1:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/calculate_time.R#L1) *style:* **Lines should not be more than 80 characters.**
```r
#' Estimate the time since the onset of hybridization, using the number of junctions
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/calculate_time.R:2:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/calculate_time.R#L2) *style:* **Lines should not be more than 80 characters.**
```r
#' @description Estimate the time since the onset of hybridization, following equation 14 in Janzen et al. 2018
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/calculate_time.R:7:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/calculate_time.R#L7) *style:* **Lines should not be more than 80 characters.**
```r
#' @param C Mean number of crossovers per meiosis (e.g. size in Morgan of the chromosome)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/calculate_time.R:11:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/calculate_time.R#L11) *style:* **Lines should not be more than 80 characters.**
```r
#' estimate_time(J = J, N = 100, R = 1000, H_0 = 0.5, C = 1)  # should be 200 again
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/calculate_time.R:13:27:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/calculate_time.R#L13) *style:* **Variable and function name style should be snake_case.**
```r
estimate_time <- function(J = NA,
                          ^
```
[R/calculate_time.R:14:27:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/calculate_time.R#L14) *style:* **Variable and function name style should be snake_case.**
```r
                          N = Inf,
                          ^
```
[R/calculate_time.R:15:27:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/calculate_time.R#L15) *style:* **Variable and function name style should be snake_case.**
```r
                          R = Inf,
                          ^
```
[R/calculate_time.R:16:27:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/calculate_time.R#L16) *style:* **Variable and function name style should be snake_case.**
```r
                          H_0 = 0.5,
                          ^~~
```
[R/calculate_time.R:17:27:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/calculate_time.R#L17) *style:* **Variable and function name style should be snake_case.**
```r
                          C = 1) {
                          ^
```
[R/calculate_time.R:28:3:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/calculate_time.R#L28) *style:* **Variable and function name style should be snake_case.**
```r
  K <- junctions::calc_k(N, R, H_0, C)
  ^
```
[R/estimate_time_markers.R:1:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/estimate_time_markers.R#L1) *style:* **Lines should not be more than 80 characters.**
```r
#' Estimate the time since the onset of hybridization, using the observed number of junctions, taking into account the distribution of markers
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/estimate_time_markers.R:2:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/estimate_time_markers.R#L2) *style:* **Lines should not be more than 80 characters.**
```r
#' @description Estimate the time since the onset of hybridization, following equation 1 in Janzen et al. unpublished
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/estimate_time_markers.R:6:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/estimate_time_markers.R#L6) *style:* **Lines should not be more than 80 characters.**
```r
#' @param marker_distribution A vector containing the position of all markers in Morgan.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/estimate_time_markers.R:7:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/estimate_time_markers.R#L7) *style:* **Lines should not be more than 80 characters.**
```r
#' @param lower_lim lower limit of the optimization algorithm. Increase if the expected admixture time is relatively ancient
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/estimate_time_markers.R:8:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/estimate_time_markers.R#L8) *style:* **Lines should not be more than 80 characters.**
```r
#' @param upper_lim upper limit of hte optimization algorithm. If set too large, recent admixture events can be overlooked - best to set as low as possible.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/estimate_time_markers.R:12:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/estimate_time_markers.R#L12) *style:* **Lines should not be more than 80 characters.**
```r
#' J <- number_of_junctions_markers(N = 100, H_0 = 0.5, t = 200, marker_distribution = markers)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/estimate_time_markers.R:18:35:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/estimate_time_markers.R#L18) *style:* **Variable and function name style should be snake_case.**
```r
estimate_time_markers <- function(J = NA,
                                  ^
```
[R/estimate_time_markers.R:19:35:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/estimate_time_markers.R#L19) *style:* **Variable and function name style should be snake_case.**
```r
                                  N = Inf,
                                  ^
```
[R/estimate_time_markers.R:20:35:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/estimate_time_markers.R#L20) *style:* **Variable and function name style should be snake_case.**
```r
                                  H_0 = 0.5,
                                  ^~~
```
[R/estimate_time_markers.R:34:71:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/estimate_time_markers.R#L34) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  fitted <- stats::optimize(to_fit, interval = c(lower_lim, upper_lim) )
                                                                      ^
```
[R/estimate_time_phased.R:2:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/estimate_time_phased.R#L2) *style:* **functions should have cyclomatic complexity of less than 15, this has 49.**
```r
get_prob_from_matrix_phased <- function(left, right, p, P) {
^
```
[R/estimate_time_phased.R:2:57:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/estimate_time_phased.R#L2) *style:* **Variable and function name style should be snake_case.**
```r
get_prob_from_matrix_phased <- function(left, right, p, P) {
                                                        ^
```
[R/estimate_time_phased.R:108:19:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/estimate_time_phased.R#L108) *warning:* **no visible global function definition for ‘single_state’**
```r
  seven_states <- single_state(local_time, N = pop_size, d = di)
                  ^~~~~~~~~~~~
```
[R/estimate_time_phased.R:122:23:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/estimate_time_phased.R#L122) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
    final_prob <- log( rel_prob )
                      ^
```
[R/estimate_time_phased.R:122:32:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/estimate_time_phased.R#L122) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
    final_prob <- log( rel_prob )
                               ^
```
[R/estimate_time_phased.R:125:10:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/estimate_time_phased.R#L125) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  return( log(focal_prob))
         ^
```
[R/estimate_time_phased.R:129:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/estimate_time_phased.R#L129) *style:* **Lines should not be more than 80 characters.**
```r
#' @description Calculates the time since admixture, given unphased ancestry data.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/estimate_time_phased.R:130:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/estimate_time_phased.R#L130) *style:* **Lines should not be more than 80 characters.**
```r
#' @param local_anc_matrix Local_anc can be provided as either matrix with two columns, where the first column represents ancestry on chromosome 1, and the second column represents ancestry on chromosome 2. Ancestry labels used should be [0, 1], where 0 indicates the first ancestor, and 1 indicates the second ancestor. Alternatively, the user can provide a vector using labels indicating whether at the specific marker, the focal individual is homozygous for the first ancestor (label = 1), homozygous for the second ancestor (label = 2), heterozygous [0,1] (label = 3) or heterozygous [1, 0] (label = 4).
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/estimate_time_phased.R:134:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/estimate_time_phased.R#L134) *style:* **Lines should not be more than 80 characters.**
```r
#' @param lower_lim lower limit of the optimization algorithm. Increase if the expected admixture time is relatively ancient
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/estimate_time_phased.R:135:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/estimate_time_phased.R#L135) *style:* **Lines should not be more than 80 characters.**
```r
#' @param upper_lim upper limit of hte optimization algorithm. If set too large, recent admixture events can be overlooked - best to set as low as possible.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/estimate_time_phased.R:136:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/estimate_time_phased.R#L136) *style:* **Lines should not be more than 80 characters.**
```r
#' @param optim_pop_size If TRUE, population size is also optimized. Starting point of the optimizaton will then be on the given population size, and half the maximum time.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/estimate_time_phased.R:171:11:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/estimate_time_phased.R#L171) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  if (sum( labels %in% 1:4) != length(labels)) {
          ^
```
[R/estimate_time_phased.R:178:58:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/estimate_time_phased.R#L178) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
                      local_anc[2:length(local_anc)]      )
                                                         ^
```
[R/estimate_time_unphased.R:2:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/estimate_time_unphased.R#L2) *style:* **functions should have cyclomatic complexity of less than 15, this has 28.**
```r
get_prob_from_matrix <- function(left, right, p, P) {
^
```
[R/estimate_time_unphased.R:2:50:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/estimate_time_unphased.R#L2) *style:* **Variable and function name style should be snake_case.**
```r
get_prob_from_matrix <- function(left, right, p, P) {
                                                 ^
```
[R/estimate_time_unphased.R:12:24:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/estimate_time_unphased.R#L12) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
    prob <- (p ^ 2) * ( P[1] + P[4] + P[7] ) +
                       ^
```
[R/estimate_time_unphased.R:12:43:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/estimate_time_unphased.R#L12) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
    prob <- (p ^ 2) * ( P[1] + P[4] + P[7] ) +
                                          ^
```
[R/estimate_time_unphased.R:18:22:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/estimate_time_unphased.R#L18) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
    prob <- p * q * ( p * q * P[3] +
                     ^
```
[R/estimate_time_unphased.R:35:24:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/estimate_time_unphased.R#L35) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
    prob <- (q ^ 2) * ( P[1] + P[4] + P[7]) +
                       ^
```
[R/estimate_time_unphased.R:88:19:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/estimate_time_unphased.R#L88) *warning:* **no visible global function definition for ‘single_state’**
```r
  seven_states <- single_state(local_time, N = pop_size, d = di)
                  ^~~~~~~~~~~~
```
[R/estimate_time_unphased.R:102:23:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/estimate_time_unphased.R#L102) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
    final_prob <- log( rel_prob )
                      ^
```
[R/estimate_time_unphased.R:102:32:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/estimate_time_unphased.R#L102) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
    final_prob <- log( rel_prob )
                               ^
```
[R/estimate_time_unphased.R:105:12:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/estimate_time_unphased.R#L105) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
    return( log(focal_prob))
           ^
```
[R/estimate_time_unphased.R:160:11:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/estimate_time_unphased.R#L160) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  if (sum( labels %in% 1:3) != length(labels)) {
          ^
```
[R/estimate_time_unphased.R:167:58:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/estimate_time_unphased.R#L167) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
                      local_anc[2:length(local_anc)]      )
                                                         ^
```
[R/number_of_junctions_backcross.R:2:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/number_of_junctions_backcross.R#L2) *style:* **Lines should not be more than 80 characters.**
```r
#' @description Calculate the expected number of junctions after t generations, in a backcrossing mating scheme.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/number_of_junctions_backcross.R:4:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/number_of_junctions_backcross.R#L4) *style:* **Lines should not be more than 80 characters.**
```r
#' @param C Mean number of crossovers per meiosis (e.g. size in Morgan of the chromosome)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/number_of_junctions_backcross.R:10:43:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/number_of_junctions_backcross.R#L10) *style:* **Variable and function name style should be snake_case.**
```r
number_of_junctions_backcross <- function(H_0 = 0.5,
                                          ^~~
```
[R/number_of_junctions_backcross.R:11:43:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/number_of_junctions_backcross.R#L11) *style:* **Variable and function name style should be snake_case.**
```r
                                          C = 1,
                                          ^
```
[R/number_of_junctions_di.R:2:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/number_of_junctions_di.R#L2) *style:* **Lines should not be more than 80 characters.**
```r
#' Calculate the expected number of junctions between two markers separated by a given amount of recombination
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/number_of_junctions_di.R:3:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/number_of_junctions_di.R#L3) *style:* **Lines should not be more than 80 characters.**
```r
#' @description Calculate the expected number of junctions after t generations, provided information on the initial heterozygosity, population size, the number of generations since the onset of admixture and the distance between two markers.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/number_of_junctions_di.R:12:36:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/number_of_junctions_di.R#L12) *style:* **Variable and function name style should be snake_case.**
```r
number_of_junctions_di <- function(N = Inf,
                                   ^
```
[R/number_of_junctions_di.R:13:36:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/number_of_junctions_di.R#L13) *style:* **Variable and function name style should be snake_case.**
```r
                                   H_0 = 0.5,
                                   ^~~
```
[R/number_of_junctions_markers.R:1:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/number_of_junctions_markers.R#L1) *style:* **Lines should not be more than 80 characters.**
```r
#' Calculate the expected total number of junctions in a chromosome, given the distribution of markers
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/number_of_junctions_markers.R:2:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/number_of_junctions_markers.R#L2) *style:* **Lines should not be more than 80 characters.**
```r
#' @description Calculate the expected number of junctions after t generations, provided information on the initial heterozygosity, population size, the number of generations since the onset of admixture and the distribution of markers.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/number_of_junctions_markers.R:6:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/number_of_junctions_markers.R#L6) *style:* **Lines should not be more than 80 characters.**
```r
#' @param marker_distribution A vector containing the position of all markers in Morgan.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/number_of_junctions_markers.R:20:41:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/number_of_junctions_markers.R#L20) *style:* **Variable and function name style should be snake_case.**
```r
number_of_junctions_markers <- function(N = Inf,
                                        ^
```
[R/number_of_junctions_markers.R:21:41:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/number_of_junctions_markers.R#L21) *style:* **Variable and function name style should be snake_case.**
```r
                                        H_0 = 0.5,
                                        ^~~
```
[R/number_of_junctions_markers.R:32:27:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/number_of_junctions_markers.R#L32) *warning:* **no visible global function definition for ‘number_of_junctions_di’**
```r
    expected_junctions <- number_of_junctions_di(N, H_0, t, di)
                          ^~~~~~~~~~~~~~~~~~~~~~
```
[R/number_of_junctions.R:2:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/number_of_junctions.R#L2) *style:* **Lines should not be more than 80 characters.**
```r
#' @description Calculate the average number of junctions after t generations, provided information on the initial heterozygosity, population size and the number of generations.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/number_of_junctions.R:6:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/number_of_junctions.R#L6) *style:* **Lines should not be more than 80 characters.**
```r
#' @param C Mean number of crossovers per meiosis (e.g. size in Morgan of the chromosome)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/number_of_junctions.R:13:33:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/number_of_junctions.R#L13) *style:* **Variable and function name style should be snake_case.**
```r
number_of_junctions <- function(N = Inf,
                                ^
```
[R/number_of_junctions.R:14:33:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/number_of_junctions.R#L14) *style:* **Variable and function name style should be snake_case.**
```r
                                R = Inf,
                                ^
```
[R/number_of_junctions.R:15:33:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/number_of_junctions.R#L15) *style:* **Variable and function name style should be snake_case.**
```r
                                H_0 = 0.5,
                                ^~~
```
[R/number_of_junctions.R:16:33:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/number_of_junctions.R#L16) *style:* **Variable and function name style should be snake_case.**
```r
                                C = 1,
                                ^
```
[R/number_of_junctions.R:28:3:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/number_of_junctions.R#L28) *style:* **Variable and function name style should be snake_case.**
```r
  K <- junctions::calc_k(N, R, H_0, C)
  ^
```
[R/optim_limits.R:5:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/optim_limits.R#L5) *style:* **Lines should not be more than 80 characters.**
```r
#' @param calc_func function to calculate the time, should accept two arguments: upper, lower and should return a stats::optimize object with two properties: $minimum and $objective
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/optim_limits.R:6:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/optim_limits.R#L6) *style:* **Lines should not be more than 80 characters.**
```r
#' @param iterations number of times the boundaries should be adjusted to obtain an estimate that is not close to the boundaries. After this number of iterations is exceeded, NA is returned
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/phased_log_likelihood.R:2:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/phased_log_likelihood.R#L2) *style:* **Lines should not be more than 80 characters.**
```r
#' @description Calculates the log likelihood of observing the phased data, given the population size, initial heterozygosity and time since admixture
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/phased_log_likelihood.R:3:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/phased_log_likelihood.R#L3) *style:* **Lines should not be more than 80 characters.**
```r
#' @param local_anc_matrix Local_anc can be provided as either matrix with two columns, where the first column represents ancestry on chromosome 1, and the second column represents ancestry on chromosome 2. Ancestry labels used should be [0, 1], where 0 indicates the first ancestor, and 1 indicates the second ancestor. Alternatively, the user can provide a vector indicating whether at the specific marker, the focal individual is homozygous for the first ancestor (0), homozygous for the second ancestor (1) or heterozygous (2).
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/phased_log_likelihood.R:38:11:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/phased_log_likelihood.R#L38) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  if (sum( labels %in% 1:4) != length(labels)) {
          ^
```
[R/phased_log_likelihood.R:45:58:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/phased_log_likelihood.R#L45) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
                      local_anc[2:length(local_anc)]      )
                                                         ^
```
[R/sim_backcrossing.R:7:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/sim_backcrossing.R#L7) *style:* **Lines should not be more than 80 characters.**
```r
#' @param size_in_morgan Mean number of crossovers per meiosis (e.g. size in Morgan of the chromosome)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/sim_backcrossing.R:11:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/sim_backcrossing.R#L11) *style:* **Lines should not be more than 80 characters.**
```r
#' recorded to be returned at the end of the simulation. If left at -1, ancestry is recorded at every generation (computationally heavy).
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/sim_backcrossing.R:12:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/sim_backcrossing.R#L12) *style:* **Lines should not be more than 80 characters.**
```r
#' @return List with five entries: average_junctions: average number of junctions over time, detected_junctions: average number of detected junctions, given the markers. markers: vector with the locations of the molecular markers, junction_distribution: distribution of junctions per time step average_heterozygosity: average heterozygosity.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/sim_fin_chrom.R:2:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/sim_fin_chrom.R#L2) *style:* **Lines should not be more than 80 characters.**
```r
#' @description Individual based simulation of the accumulation of junctions for a chromosome with regularly distributed markers.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/sim_fin_chrom.R:5:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/sim_fin_chrom.R#L5) *style:* **Lines should not be more than 80 characters.**
```r
#' @param morgan Mean number of crossovers per meiosis (e.g. size in Morgan of the chromosome)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/sim_fin_chrom.R:9:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/sim_fin_chrom.R#L9) *style:* **Lines should not be more than 80 characters.**
```r
#' @return \item{avgJunctions}{vector of the average number of junctions at time = [0, total_runtime]}
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/sim_fin_chrom.R:17:27:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/sim_fin_chrom.R#L17) *style:* **Remove spaces before the left parenthesis in a function call.**
```r
sim_fin_chrom <- function (pop_size = 100,
                          ^
```
[R/sim_fin_chrom.R:22:28:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/sim_fin_chrom.R#L22) *style:* **Variable and function name style should be snake_case.**
```r
                           R = 100) {
                           ^
```
[R/sim_inf_chrom.R:2:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/sim_inf_chrom.R#L2) *style:* **Lines should not be more than 80 characters.**
```r
#' @description Individual based simulation of the accumulation of junctions for a chromosome with an infinite number of recombination sites.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/sim_inf_chrom.R:6:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/sim_inf_chrom.R#L6) *style:* **Lines should not be more than 80 characters.**
```r
#' @param morgan Mean number of crossovers per meiosis (e.g. size in Morgan of the chromosome)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/sim_inf_chrom.R:7:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/sim_inf_chrom.R#L7) *style:* **Lines should not be more than 80 characters.**
```r
#' @param markers The number of genetic markers superimposed on the chromosome. If markers is set to -1, no markers are superimposed (faster simulation)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/sim_inf_chrom.R:9:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/sim_inf_chrom.R#L9) *style:* **Lines should not be more than 80 characters.**
```r
#' @return \item{avgJunctions}{vector of the average number of junctions at time = [0, total_runtime]}
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/sim_phased_unphased.R:2:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/sim_phased_unphased.R#L2) *style:* **Lines should not be more than 80 characters.**
```r
#' @description Individual based simulation of the accumulation of junctions, returning phased and unphased data. Ancestry on both chromosomes of 10 randomly sampled individuals per generations is returned.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/sim_phased_unphased.R:6:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/sim_phased_unphased.R#L6) *style:* **Lines should not be more than 80 characters.**
```r
#' @param size_in_morgan Mean number of crossovers per meiosis (e.g. size in Morgan of the chromosome)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/sim_phased_unphased.R:7:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/sim_phased_unphased.R#L7) *style:* **Lines should not be more than 80 characters.**
```r
#' @param number_of_markers The number of genetic markers superimposed on the chromosome.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/sim_phased_unphased.R:8:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/sim_phased_unphased.R#L8) *style:* **Lines should not be more than 80 characters.**
```r
#' @param time_points vector with time points at which local ancestry has to be recorded to be returned at the end of the simulation. If left at -1, ancestry is recorded at every generation (computationally heavy).
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/sim_phased_unphased.R:12:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/sim_phased_unphased.R#L12) *style:* **Lines should not be more than 80 characters.**
```r
#' @return a tibble with five columns: [time, individual, marker location, ancestry chromosome 1, ancestry chromosome 2]
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/sim_phased_with_error.R:1:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/sim_phased_with_error.R#L1) *style:* **Lines should not be more than 80 characters.**
```r
#' Individual Based Simulation of the accumulation of junctions, given phasing error
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/sim_phased_with_error.R:2:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/sim_phased_with_error.R#L2) *style:* **Lines should not be more than 80 characters.**
```r
#' @description Individual based simulation of the accumulation of junctions, returning phased and unphased data. Phased data is
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/sim_phased_with_error.R:3:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/sim_phased_with_error.R#L3) *style:* **Lines should not be more than 80 characters.**
```r
#' generated using a user-provided error rate. Ancestry on both chromosomes of 10 randomly sampled individuals per generations is
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/sim_phased_with_error.R:8:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/sim_phased_with_error.R#L8) *style:* **Lines should not be more than 80 characters.**
```r
#' @param size_in_morgan Mean number of crossovers per meiosis (e.g. size in Morgan of the chromosome)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/sim_phased_with_error.R:9:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/sim_phased_with_error.R#L9) *style:* **Lines should not be more than 80 characters.**
```r
#' @param number_of_markers The number of genetic markers superimposed on the chromosome.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/sim_phased_with_error.R:10:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/sim_phased_with_error.R#L10) *style:* **Lines should not be more than 80 characters.**
```r
#' @param time_points vector with time points at which local ancestry has to be recorded to be returned at the end of the simulation. If left at -1, ancestry is recorded at every generation (computationally heavy).
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/sim_phased_with_error.R:15:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/sim_phased_with_error.R#L15) *style:* **Lines should not be more than 80 characters.**
```r
#' @param error_rate fraction of markers that are erroneously phased (e.g. swapped)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/sim_phased_with_error.R:16:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/sim_phased_with_error.R#L16) *style:* **Lines should not be more than 80 characters.**
```r
#' @return a tibble with five columns: [time, individual, marker location, ancestry chromosome 1, ancestry chromosome 2]
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/unphased_log_likelihood.R:2:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/unphased_log_likelihood.R#L2) *style:* **Lines should not be more than 80 characters.**
```r
#' @description Calculates the log likelihood of observing the unphased data, given the population size, initial heterozygosity and time since admixture
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/unphased_log_likelihood.R:3:1:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/unphased_log_likelihood.R#L3) *style:* **Lines should not be more than 80 characters.**
```r
#' @param local_anc_matrix Local_anc can be provided as either matrix with two columns, where the first column represents ancestry on chromosome 1, and the second column represents ancestry on chromosome 2. Ancestry labels used should be [0, 1], where 0 indicates the first ancestor, and 1 indicates the second ancestor. Alternatively, the user can provide a vector indicating whether at the specific marker, the focal individual is homozygous for the first ancestor (0), homozygous for the second ancestor (1) or heterozygous (2).
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/unphased_log_likelihood.R:34:11:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/unphased_log_likelihood.R#L34) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  if (sum( labels %in% 1:3) != length(labels)) {
          ^
```
[R/unphased_log_likelihood.R:41:58:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/R/unphased_log_likelihood.R#L41) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
                      local_anc[2:length(local_anc)]      )
                                                         ^
```
[tests/testthat/test-equations.R:11:3:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/tests/testthat/test-equations.R#L11) *style:* **Variable and function name style should be snake_case.**
```r
  A <- is.infinite(v3)
  ^
```
[tests/testthat/test-equations.R:18:3:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/tests/testthat/test-equations.R#L18) *style:* **Variable and function name style should be snake_case.**
```r
  J <- junctions::number_of_junctions(N = 100, R = 1000,
  ^
```
[tests/testthat/test-marker_dist.R:4:3:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/tests/testthat/test-marker_dist.R#L4) *style:* **Variable and function name style should be snake_case.**
```r
  R <- 1000
  ^
```
[tests/testthat/test-marker_dist.R:16:3:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/tests/testthat/test-marker_dist.R#L16) *style:* **Variable and function name style should be snake_case.**
```r
  N <- 1e3
  ^
```
[tests/testthat/test-marker_dist.R:17:3:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/tests/testthat/test-marker_dist.R#L17) *style:* **Variable and function name style should be snake_case.**
```r
  R <- 1000
  ^
```
[tests/testthat/test-marker_dist.R:60:3:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/tests/testthat/test-marker_dist.R#L60) *style:* **Variable and function name style should be snake_case.**
```r
  N <- 1e3
  ^
```
[tests/testthat/test-marker_dist.R:61:3:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/tests/testthat/test-marker_dist.R#L61) *style:* **Variable and function name style should be snake_case.**
```r
  R <- 1000
  ^
```
[tests/testthat/test-phased-error.R:53:64:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/tests/testthat/test-phased-error.R#L53) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  expected_heterozygosity <- 2 * 0.5 * 0.5 * (1 - 1 / (2 * 100) ) ^ 200
                                                               ^
```
[tests/testthat/test-sims.R:4:3:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/tests/testthat/test-sims.R#L4) *style:* **Variable and function name style should be snake_case.**
```r
  R <- 100 #chromosome size
  ^
```
[tests/testthat/test-sims.R:5:3:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/tests/testthat/test-sims.R#L5) *style:* **Variable and function name style should be snake_case.**
```r
  N <- 100 #population size
  ^
```
[tests/testthat/test-sims.R:6:3:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/tests/testthat/test-sims.R#L6) *style:* **Variable and function name style should be snake_case.**
```r
  H_0 <- 0.5 #initial heterozygosity
  ^~~
```
[tests/testthat/test-sims.R:7:3:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/tests/testthat/test-sims.R#L7) *style:* **Variable and function name style should be snake_case.**
```r
  C <- 1 #number of recombinations per meiosis
  ^
```
[tests/testthat/test-sims.R:29:3:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/tests/testthat/test-sims.R#L29) *style:* **Variable and function name style should be snake_case.**
```r
  N <- 50 #population size
  ^
```
[tests/testthat/test-sims.R:30:3:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/tests/testthat/test-sims.R#L30) *style:* **Variable and function name style should be snake_case.**
```r
  H_0 <- 0.5 #initial heterozygosity
  ^~~
```
[tests/testthat/test-sims.R:31:3:](https://github.com/thijsjanzen/junctions/blob/01dd9084b3e00cbe645020dc126c09b5d9aacf02/tests/testthat/test-sims.R#L31) *style:* **Variable and function name style should be snake_case.**
```r
  C <- 1 #number of recombinations per meiosis
  ^
```


@Jorge-Mutonen, aquí falta el número de fila según lo asignado: `mite[fila,]`


Successfully aliased the URL <https://shinyapp-qv3vjeg5n.now.sh> to the following aliases:

* https://shinyapp.mranjos91.now.sh
* https://shinyapp-git-master.mranjos91.now.sh


`accountId` is a refer to the `Account` model so this one needs to be an `ObjectId`