@callimico
25Danish biology student with a passion for animals, language learning and musical composition among other things
steemit.com/@callimicoVOTING POWER100.00%
DOWNVOTE POWER100.00%
RESOURCE CREDITS100.00%
REPUTATION PROGRESS0.00%
Net Worth
0.007USD
STEEM
0.000STEEM
SBD
0.000SBD
Effective Power
5.001SP
├── Own SP
0.125SP
└── Incoming DelegationsDeleg
+4.876SP
Detailed Balance
| STEEM | ||
| balance | 0.000STEEM | STEEM |
| market_balance | 0.000STEEM | STEEM |
| savings_balance | 0.000STEEM | STEEM |
| reward_steem_balance | 0.000STEEM | STEEM |
| STEEM POWER | ||
| Own SP | 0.125SP | SP |
| Delegated Out | 0.000SP | SP |
| Delegation In | 4.876SP | SP |
| Effective Power | 5.001SP | SP |
| Reward SP (pending) | 0.000SP | SP |
| SBD | ||
| sbd_balance | 0.000SBD | SBD |
| sbd_conversions | 0.000SBD | SBD |
| sbd_market_balance | 0.000SBD | SBD |
| savings_sbd_balance | 0.000SBD | SBD |
| reward_sbd_balance | 0.000SBD | SBD |
{
"balance": "0.000 STEEM",
"savings_balance": "0.000 STEEM",
"reward_steem_balance": "0.000 STEEM",
"vesting_shares": "204.170338 VESTS",
"delegated_vesting_shares": "0.000000 VESTS",
"received_vesting_shares": "7939.489468 VESTS",
"sbd_balance": "0.000 SBD",
"savings_sbd_balance": "0.000 SBD",
"reward_sbd_balance": "0.000 SBD",
"conversions": []
}Account Info
| name | callimico |
| id | 850133 |
| rank | 304,608 |
| reputation | 149201016 |
| created | 2018-03-13T10:40:51 |
| recovery_account | steem |
| proxy | None |
| post_count | 12 |
| comment_count | 0 |
| lifetime_vote_count | 0 |
| witnesses_voted_for | 0 |
| last_post | 2018-03-22T16:43:48 |
| last_root_post | 2018-03-22T16:43:48 |
| last_vote_time | 2018-03-21T10:27:21 |
| proxied_vsf_votes | 0, 0, 0, 0 |
| can_vote | 1 |
| voting_power | 0 |
| delayed_votes | 0 |
| balance | 0.000 STEEM |
| savings_balance | 0.000 STEEM |
| sbd_balance | 0.000 SBD |
| savings_sbd_balance | 0.000 SBD |
| vesting_shares | 204.170338 VESTS |
| delegated_vesting_shares | 0.000000 VESTS |
| received_vesting_shares | 7939.489468 VESTS |
| reward_vesting_balance | 0.000000 VESTS |
| vesting_balance | 0.000 STEEM |
| vesting_withdraw_rate | 0.000000 VESTS |
| next_vesting_withdrawal | 1969-12-31T23:59:59 |
| withdrawn | 0 |
| to_withdraw | 0 |
| withdraw_routes | 0 |
| savings_withdraw_requests | 0 |
| last_account_recovery | 1970-01-01T00:00:00 |
| reset_account | null |
| last_owner_update | 1970-01-01T00:00:00 |
| last_account_update | 2018-03-21T11:02:24 |
| mined | No |
| sbd_seconds | 0 |
| sbd_last_interest_payment | 1970-01-01T00:00:00 |
| savings_sbd_last_interest_payment | 1970-01-01T00:00:00 |
{
"id": 850133,
"name": "callimico",
"owner": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM6eryEdGuEfRmobm3DW6USMYtAXRoxHCVoQTeu3rfw7i8bPnsdy",
1
]
]
},
"active": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM7b2wQARmY9x3tgwSLr1LBPJyeVKx8vLJ25iZJv1i4XzHEfSoEK",
1
]
]
},
"posting": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM8AaDL3PW9ydqjBVJojTkcKLLtVQkVi9U2Q5mQpyPUD9ytx5cHC",
1
]
]
},
"memo_key": "STM5tiGgRZ3fjkLhuzfnbmvRGNgPFAYF8rzLBgG71wFAWELPW23jr",
"json_metadata": "{\"profile\":{\"profile_image\":\"https://upload.wikimedia.org/wikipedia/commons/7/77/Goeldi%27s_Marmoset.jpg\",\"about\":\"Danish biology student with a passion for animals, language learning and musical composition among other things\"}}",
"posting_json_metadata": "{\"profile\":{\"profile_image\":\"https://upload.wikimedia.org/wikipedia/commons/7/77/Goeldi%27s_Marmoset.jpg\",\"about\":\"Danish biology student with a passion for animals, language learning and musical composition among other things\"}}",
"proxy": "",
"last_owner_update": "1970-01-01T00:00:00",
"last_account_update": "2018-03-21T11:02:24",
"created": "2018-03-13T10:40:51",
"mined": false,
"recovery_account": "steem",
"last_account_recovery": "1970-01-01T00:00:00",
"reset_account": "null",
"comment_count": 0,
"lifetime_vote_count": 0,
"post_count": 12,
"can_vote": true,
"voting_manabar": {
"current_mana": "8143659806",
"last_update_time": 1779056796
},
"downvote_manabar": {
"current_mana": 2035914951,
"last_update_time": 1779056796
},
"voting_power": 0,
"balance": "0.000 STEEM",
"savings_balance": "0.000 STEEM",
"sbd_balance": "0.000 SBD",
"sbd_seconds": "0",
"sbd_seconds_last_update": "1970-01-01T00:00:00",
"sbd_last_interest_payment": "1970-01-01T00:00:00",
"savings_sbd_balance": "0.000 SBD",
"savings_sbd_seconds": "0",
"savings_sbd_seconds_last_update": "1970-01-01T00:00:00",
"savings_sbd_last_interest_payment": "1970-01-01T00:00:00",
"savings_withdraw_requests": 0,
"reward_sbd_balance": "0.000 SBD",
"reward_steem_balance": "0.000 STEEM",
"reward_vesting_balance": "0.000000 VESTS",
"reward_vesting_steem": "0.000 STEEM",
"vesting_shares": "204.170338 VESTS",
"delegated_vesting_shares": "0.000000 VESTS",
"received_vesting_shares": "7939.489468 VESTS",
"vesting_withdraw_rate": "0.000000 VESTS",
"next_vesting_withdrawal": "1969-12-31T23:59:59",
"withdrawn": 0,
"to_withdraw": 0,
"withdraw_routes": 0,
"curation_rewards": 0,
"posting_rewards": 0,
"proxied_vsf_votes": [
0,
0,
0,
0
],
"witnesses_voted_for": 0,
"last_post": "2018-03-22T16:43:48",
"last_root_post": "2018-03-22T16:43:48",
"last_vote_time": "2018-03-21T10:27:21",
"post_bandwidth": 0,
"pending_claimed_accounts": 0,
"vesting_balance": "0.000 STEEM",
"reputation": 149201016,
"transfer_history": [],
"market_history": [],
"post_history": [],
"vote_history": [],
"other_history": [],
"witness_votes": [],
"tags_usage": [],
"guest_bloggers": [],
"rank": 304608
}Withdraw Routes
| Incoming | Outgoing |
|---|---|
Empty | Empty |
{
"incoming": [],
"outgoing": []
}From Date
To Date
steemdelegated 4.876 SP to @callimico2026/05/17 22:26:36
steemdelegated 4.876 SP to @callimico
2026/05/17 22:26:36
| delegator | steem |
| delegatee | callimico |
| vesting shares | 7939.489468 VESTS |
| Transaction Info | Block #106141286/Trx 8ece5fb7542a18c24365f7ac00539506f61d98a6 |
View Raw JSON Data
{
"trx_id": "8ece5fb7542a18c24365f7ac00539506f61d98a6",
"block": 106141286,
"trx_in_block": 2,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2026-05-17T22:26:36",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "callimico",
"vesting_shares": "7939.489468 VESTS"
}
]
}steemdelegated 3.210 SP to @callimico2026/05/11 20:38:30
steemdelegated 3.210 SP to @callimico
2026/05/11 20:38:30
| delegator | steem |
| delegatee | callimico |
| vesting shares | 5227.279063 VESTS |
| Transaction Info | Block #105967096/Trx d006e87d6a15794eea736deb0a7aacd15b901b80 |
View Raw JSON Data
{
"trx_id": "d006e87d6a15794eea736deb0a7aacd15b901b80",
"block": 105967096,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2026-05-11T20:38:30",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "callimico",
"vesting_shares": "5227.279063 VESTS"
}
]
}steemdelegated 4.883 SP to @callimico2026/04/25 21:50:18
steemdelegated 4.883 SP to @callimico
2026/04/25 21:50:18
| delegator | steem |
| delegatee | callimico |
| vesting shares | 7952.005224 VESTS |
| Transaction Info | Block #105508989/Trx f8c43102e02df9248220ba4bdc73151f21dfacdf |
View Raw JSON Data
{
"trx_id": "f8c43102e02df9248220ba4bdc73151f21dfacdf",
"block": 105508989,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2026-04-25T21:50:18",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "callimico",
"vesting_shares": "7952.005224 VESTS"
}
]
}steemdelegated 3.236 SP to @callimico2026/01/23 03:02:06
steemdelegated 3.236 SP to @callimico
2026/01/23 03:02:06
| delegator | steem |
| delegatee | callimico |
| vesting shares | 5268.825882 VESTS |
| Transaction Info | Block #102846106/Trx 2a6590b373c93055af7d1170125093be885fe27f |
View Raw JSON Data
{
"trx_id": "2a6590b373c93055af7d1170125093be885fe27f",
"block": 102846106,
"trx_in_block": 2,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2026-01-23T03:02:06",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "callimico",
"vesting_shares": "5268.825882 VESTS"
}
]
}steemdelegated 3.337 SP to @callimico2024/12/16 22:21:27
steemdelegated 3.337 SP to @callimico
2024/12/16 22:21:27
| delegator | steem |
| delegatee | callimico |
| vesting shares | 5433.045079 VESTS |
| Transaction Info | Block #91292513/Trx a67f2980b00e4be79e285867d814d019229ac01d |
View Raw JSON Data
{
"trx_id": "a67f2980b00e4be79e285867d814d019229ac01d",
"block": 91292513,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2024-12-16T22:21:27",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "callimico",
"vesting_shares": "5433.045079 VESTS"
}
]
}steemdelegated 3.440 SP to @callimico2023/11/13 14:06:27
steemdelegated 3.440 SP to @callimico
2023/11/13 14:06:27
| delegator | steem |
| delegatee | callimico |
| vesting shares | 5602.178611 VESTS |
| Transaction Info | Block #79846774/Trx f8364dc65a7715337a356856b1069d002227575a |
View Raw JSON Data
{
"trx_id": "f8364dc65a7715337a356856b1069d002227575a",
"block": 79846774,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2023-11-13T14:06:27",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "callimico",
"vesting_shares": "5602.178611 VESTS"
}
]
}steemdelegated 5.244 SP to @callimico2023/09/21 19:43:45
steemdelegated 5.244 SP to @callimico
2023/09/21 19:43:45
| delegator | steem |
| delegatee | callimico |
| vesting shares | 8539.457397 VESTS |
| Transaction Info | Block #78345321/Trx 7e242e8913107f82435d1eebd45d7a5e0e6c90a9 |
View Raw JSON Data
{
"trx_id": "7e242e8913107f82435d1eebd45d7a5e0e6c90a9",
"block": 78345321,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2023-09-21T19:43:45",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "callimico",
"vesting_shares": "8539.457397 VESTS"
}
]
}steemdelegated 5.380 SP to @callimico2022/11/03 09:45:30
steemdelegated 5.380 SP to @callimico
2022/11/03 09:45:30
| delegator | steem |
| delegatee | callimico |
| vesting shares | 8761.138835 VESTS |
| Transaction Info | Block #69110939/Trx 51b2bb296c56205460d5e69a9ec2bff4f45a4b16 |
View Raw JSON Data
{
"trx_id": "51b2bb296c56205460d5e69a9ec2bff4f45a4b16",
"block": 69110939,
"trx_in_block": 3,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2022-11-03T09:45:30",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "callimico",
"vesting_shares": "8761.138835 VESTS"
}
]
}steemdelegated 5.516 SP to @callimico2022/01/17 09:10:54
steemdelegated 5.516 SP to @callimico
2022/01/17 09:10:54
| delegator | steem |
| delegatee | callimico |
| vesting shares | 8981.672066 VESTS |
| Transaction Info | Block #60807298/Trx eb13e0ee99907aa3174ae419768fa8fe3c674ca6 |
View Raw JSON Data
{
"trx_id": "eb13e0ee99907aa3174ae419768fa8fe3c674ca6",
"block": 60807298,
"trx_in_block": 13,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2022-01-17T09:10:54",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "callimico",
"vesting_shares": "8981.672066 VESTS"
}
]
}steemdelegated 5.629 SP to @callimico2021/06/13 23:10:30
steemdelegated 5.629 SP to @callimico
2021/06/13 23:10:30
| delegator | steem |
| delegatee | callimico |
| vesting shares | 9165.440724 VESTS |
| Transaction Info | Block #54605775/Trx bc26840f88ac4f0e97806e8f9f01d28b6eef3f43 |
View Raw JSON Data
{
"trx_id": "bc26840f88ac4f0e97806e8f9f01d28b6eef3f43",
"block": 54605775,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2021-06-13T23:10:30",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "callimico",
"vesting_shares": "9165.440724 VESTS"
}
]
}steemdelegated 5.744 SP to @callimico2020/12/11 09:31:42
steemdelegated 5.744 SP to @callimico
2020/12/11 09:31:42
| delegator | steem |
| delegatee | callimico |
| vesting shares | 9352.862698 VESTS |
| Transaction Info | Block #49353297/Trx 6c81573e169a6b291b124a610b053c16206dce00 |
View Raw JSON Data
{
"trx_id": "6c81573e169a6b291b124a610b053c16206dce00",
"block": 49353297,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-12-11T09:31:42",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "callimico",
"vesting_shares": "9352.862698 VESTS"
}
]
}steemdelegated 1.175 SP to @callimico2020/12/06 03:09:09
steemdelegated 1.175 SP to @callimico
2020/12/06 03:09:09
| delegator | steem |
| delegatee | callimico |
| vesting shares | 1912.543513 VESTS |
| Transaction Info | Block #49204867/Trx f7378ff01f71635be8a38d6dfed89e482a32b976 |
View Raw JSON Data
{
"trx_id": "f7378ff01f71635be8a38d6dfed89e482a32b976",
"block": 49204867,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-12-06T03:09:09",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "callimico",
"vesting_shares": "1912.543513 VESTS"
}
]
}steemdelegated 5.748 SP to @callimico2020/12/05 11:06:03
steemdelegated 5.748 SP to @callimico
2020/12/05 11:06:03
| delegator | steem |
| delegatee | callimico |
| vesting shares | 9359.229337 VESTS |
| Transaction Info | Block #49185971/Trx 6845af4f64635228fa654bf3119e67244d5f10d4 |
View Raw JSON Data
{
"trx_id": "6845af4f64635228fa654bf3119e67244d5f10d4",
"block": 49185971,
"trx_in_block": 9,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-12-05T11:06:03",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "callimico",
"vesting_shares": "9359.229337 VESTS"
}
]
}steemdelegated 1.179 SP to @callimico2020/11/02 12:07:54
steemdelegated 1.179 SP to @callimico
2020/11/02 12:07:54
| delegator | steem |
| delegatee | callimico |
| vesting shares | 1920.017158 VESTS |
| Transaction Info | Block #48253674/Trx d082049b4f8c1b8c3b3ede939eb8f1bb520a9f37 |
View Raw JSON Data
{
"trx_id": "d082049b4f8c1b8c3b3ede939eb8f1bb520a9f37",
"block": 48253674,
"trx_in_block": 3,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-11-02T12:07:54",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "callimico",
"vesting_shares": "1920.017158 VESTS"
}
]
}steemdelegated 5.872 SP to @callimico2020/05/09 04:04:33
steemdelegated 5.872 SP to @callimico
2020/05/09 04:04:33
| delegator | steem |
| delegatee | callimico |
| vesting shares | 9561.875911 VESTS |
| Transaction Info | Block #43215088/Trx 7cf1a9d6c2a80a35776e729da30a1b588bc0de98 |
View Raw JSON Data
{
"trx_id": "7cf1a9d6c2a80a35776e729da30a1b588bc0de98",
"block": 43215088,
"trx_in_block": 2,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-05-09T04:04:33",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "callimico",
"vesting_shares": "9561.875911 VESTS"
}
]
}steemdelegated 1.200 SP to @callimico2020/05/08 07:25:54
steemdelegated 1.200 SP to @callimico
2020/05/08 07:25:54
| delegator | steem |
| delegatee | callimico |
| vesting shares | 1953.311140 VESTS |
| Transaction Info | Block #43190894/Trx f7873b0f77d8898b22c0c54b19e8a1bd4e5820f5 |
View Raw JSON Data
{
"trx_id": "f7873b0f77d8898b22c0c54b19e8a1bd4e5820f5",
"block": 43190894,
"trx_in_block": 6,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-05-08T07:25:54",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "callimico",
"vesting_shares": "1953.311140 VESTS"
}
]
}2020/03/13 11:19:15
2020/03/13 11:19:15
| parent author | callimico |
| parent permlink | new-series-pain-in-animals |
| author | steemitboard |
| permlink | steemitboard-notify-callimico-20200313t111914000z |
| title | |
| body | Congratulations @callimico! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@callimico/birthday2.png</td><td>Happy Steem Birthday! - You are on the Steem blockchain for 2 years!</td></tr></table> <sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@callimico) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=callimico)_</sub> **Do not miss the last post from @steemitboard:** <table><tr><td><a href="https://steemit.com/steemitboard/@steemitboard/downvote-challenge-add-up-to-3-funny-badges-to-your-board"><img src="https://steemitimages.com/64x128/https://steemitimages.com/0x0/"></a></td><td><a href="https://steemit.com/steemitboard/@steemitboard/downvote-challenge-add-up-to-3-funny-badges-to-your-board">Downvote challenge - Add up to 3 funny badges to your board</a></td></tr></table> ###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes! |
| json metadata | {"image":["https://steemitboard.com/img/notify.png"]} |
| Transaction Info | Block #41614271/Trx 5b58591fbbc63c15b440f87c4eb4868171ef9a33 |
View Raw JSON Data
{
"trx_id": "5b58591fbbc63c15b440f87c4eb4868171ef9a33",
"block": 41614271,
"trx_in_block": 5,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-03-13T11:19:15",
"op": [
"comment",
{
"parent_author": "callimico",
"parent_permlink": "new-series-pain-in-animals",
"author": "steemitboard",
"permlink": "steemitboard-notify-callimico-20200313t111914000z",
"title": "",
"body": "Congratulations @callimico! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@callimico/birthday2.png</td><td>Happy Steem Birthday! - You are on the Steem blockchain for 2 years!</td></tr></table>\n\n<sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@callimico) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=callimico)_</sub>\n\n\n**Do not miss the last post from @steemitboard:**\n<table><tr><td><a href=\"https://steemit.com/steemitboard/@steemitboard/downvote-challenge-add-up-to-3-funny-badges-to-your-board\"><img src=\"https://steemitimages.com/64x128/https://steemitimages.com/0x0/\"></a></td><td><a href=\"https://steemit.com/steemitboard/@steemitboard/downvote-challenge-add-up-to-3-funny-badges-to-your-board\">Downvote challenge - Add up to 3 funny badges to your board</a></td></tr></table>\n\n###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!",
"json_metadata": "{\"image\":[\"https://steemitboard.com/img/notify.png\"]}"
}
]
}steemdelegated 5.989 SP to @callimico2019/06/13 17:28:51
steemdelegated 5.989 SP to @callimico
2019/06/13 17:28:51
| delegator | steem |
| delegatee | callimico |
| vesting shares | 9751.789617 VESTS |
| Transaction Info | Block #33769285/Trx 059a73a966a387fb867ab41ebb5886bcc01eb686 |
View Raw JSON Data
{
"trx_id": "059a73a966a387fb867ab41ebb5886bcc01eb686",
"block": 33769285,
"trx_in_block": 10,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-06-13T17:28:51",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "callimico",
"vesting_shares": "9751.789617 VESTS"
}
]
}2019/03/13 17:41:18
2019/03/13 17:41:18
| parent author | callimico |
| parent permlink | new-series-pain-in-animals |
| author | steemitboard |
| permlink | steemitboard-notify-callimico-20190313t174118000z |
| title | |
| body | Congratulations @callimico! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@callimico/birthday1.png</td><td>Happy Birthday! - You are on the Steem blockchain for 1 year!</td></tr></table> <sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@callimico) and compare to others on the [Steem Ranking](http://steemitboard.com/ranking/index.php?name=callimico)_</sub> **Do not miss the last post from @steemitboard:** <table><tr><td><a href="https://steemit.com/drugwars/@steemitboard/drugwars-early-adopter"><img src="https://steemitimages.com/64x128/https://cdn.steemitimages.com/DQmYGN7R653u4hDFyq1hM7iuhr2bdAP1v2ApACDNtecJAZ5/image.png"></a></td><td><a href="https://steemit.com/drugwars/@steemitboard/drugwars-early-adopter">Are you a DrugWars early adopter? Benvenuto in famiglia!</a></td></tr></table> ###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes! |
| json metadata | {"image":["https://steemitboard.com/img/notify.png"]} |
| Transaction Info | Block #31123448/Trx 454bebb2d780f1d167a1b204f233ccdec69e9aba |
View Raw JSON Data
{
"trx_id": "454bebb2d780f1d167a1b204f233ccdec69e9aba",
"block": 31123448,
"trx_in_block": 10,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-03-13T17:41:18",
"op": [
"comment",
{
"parent_author": "callimico",
"parent_permlink": "new-series-pain-in-animals",
"author": "steemitboard",
"permlink": "steemitboard-notify-callimico-20190313t174118000z",
"title": "",
"body": "Congratulations @callimico! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@callimico/birthday1.png</td><td>Happy Birthday! - You are on the Steem blockchain for 1 year!</td></tr></table>\n\n<sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@callimico) and compare to others on the [Steem Ranking](http://steemitboard.com/ranking/index.php?name=callimico)_</sub>\n\n\n**Do not miss the last post from @steemitboard:**\n<table><tr><td><a href=\"https://steemit.com/drugwars/@steemitboard/drugwars-early-adopter\"><img src=\"https://steemitimages.com/64x128/https://cdn.steemitimages.com/DQmYGN7R653u4hDFyq1hM7iuhr2bdAP1v2ApACDNtecJAZ5/image.png\"></a></td><td><a href=\"https://steemit.com/drugwars/@steemitboard/drugwars-early-adopter\">Are you a DrugWars early adopter? Benvenuto in famiglia!</a></td></tr></table>\n\n###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!",
"json_metadata": "{\"image\":[\"https://steemitboard.com/img/notify.png\"]}"
}
]
}steemdelegated 6.111 SP to @callimico2018/06/21 18:24:06
steemdelegated 6.111 SP to @callimico
2018/06/21 18:24:06
| delegator | steem |
| delegatee | callimico |
| vesting shares | 9950.935683 VESTS |
| Transaction Info | Block #23523181/Trx 508b179a19445eef29d9835cfea413a0c80e895f |
View Raw JSON Data
{
"trx_id": "508b179a19445eef29d9835cfea413a0c80e895f",
"block": 23523181,
"trx_in_block": 13,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-06-21T18:24:06",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "callimico",
"vesting_shares": "9950.935683 VESTS"
}
]
}2018/03/24 10:55:33
2018/03/24 10:55:33
| parent author | callimico |
| parent permlink | why-we-trust-in-dna-to-tell-us-how-organisms-are-related |
| author | ingkelimeler |
| permlink | re-callimico-why-we-trust-in-dna-to-tell-us-how-organisms-are-related-20180324t105530183z |
| title | |
| body | Source? |
| json metadata | {"tags":["science"],"app":"steemit/0.1"} |
| Transaction Info | Block #20953161/Trx 35555291a06639cad180e19ee784fefe42409303 |
View Raw JSON Data
{
"trx_id": "35555291a06639cad180e19ee784fefe42409303",
"block": 20953161,
"trx_in_block": 23,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-24T10:55:33",
"op": [
"comment",
{
"parent_author": "callimico",
"parent_permlink": "why-we-trust-in-dna-to-tell-us-how-organisms-are-related",
"author": "ingkelimeler",
"permlink": "re-callimico-why-we-trust-in-dna-to-tell-us-how-organisms-are-related-20180324t105530183z",
"title": "",
"body": "Source?",
"json_metadata": "{\"tags\":[\"science\"],\"app\":\"steemit/0.1\"}"
}
]
}callimicopublished a new post: new-series-pain-in-animals2018/03/22 16:43:48
callimicopublished a new post: new-series-pain-in-animals
2018/03/22 16:43:48
| parent author | |
| parent permlink | science |
| author | callimico |
| permlink | new-series-pain-in-animals |
| title | New series: Pain in animals |
| body | Just last month, [Switzerland became the first country in the world to ban the practice of boiling lobsters alive](https://www.independent.co.uk/news/science/lobsters-boil-alive-cooking-ban-taste-animal-pain-uk-switzerland-welfare-a8217921.html#commentsDiv). But do lobsters even feel pain? In my upcoming posts, I will talk about pain in animals, what we know and what we don't know. ### But first, an introduction I've cared deeply about animals for as long as I can remember. So great was my childhood fascination that I decided to become a biologist already in elementary school. As I'm currently in the process of writing my Master's thesis in biology, that dream has almost come true. For a self-proclaimed friend of animals, however, the topic of my thesis may come across as paradoxical: pain in crustaceans. I'm torturing crabs, basically.  "You monster!" [Image by D. Hazerli](https://commons.wikimedia.org/wiki/File:Common_shore_crab_2.JPG) Allow me a few lines to justify my actions: 1. The purpose of my experiments is to find out _if_ crustaceans are capable of suffering. If not, I've done no harm. If they do, I take solace in the fact that... 1. ... the stuff I'm subjecting my crabs to is quite mild (a spray of hot water on the claw) and causes no visible injuries. But still, why study pain in crustaceans? For one thing, many are treated harshly by humans. Lobsters are boiled alive, crabs have their claws ripped off and [prawns have their eyestalks cut off to increase fertility](https://www.omicsonline.org/the-effects-of-eyestalk-ablation-on-the-reproductive-and-immune-function-of-female-macrobrachium-americanum-2155-9546.1000156.php?aid=10097); if crustaceans do suffer, they suffer a lot! Crustaceans are interesting experimental subjects, because their nervous system is simpler than the ones in animals we currently believe to feel pain, i.e. mostly vertebrates (here's [a review](https://www.researchgate.net/publication/266794956_Defining_and_assessing_animal_pain)). In other words, demonstrating behaviour in crustaceans consistent with pain would lower the threshold at which we start to assume pain in animals based on brain capacity. If an animal can feel pain, it also means that it has a form of consciousness. Which is what really fascinates me the most. You and I might care about animals, but to what extent do the animals themselves care about anything? Crustaceans belong to the arthropods, the most numerous animal group on the planet, both in terms of species and number of individuals. The group also includes insects, chelicerates (e.g. spiders and scorpions) and myriapods (millipedes and centipedes). If just a fraction of these creatures feel pain, then the amount of suffering in the world is much greater than we might have anticipated.  [Image by Nick Beeson](https://commons.wikimedia.org/wiki/File:AnimalsRelativeNumbers.png) Or maybe you've already anticipated it. A common reaction from people I tell about my research (oh, the awkward first encounters...) is this: "But why shouldn't they feel pain?" This is not just anthropomorphism. Several of my conversation partners note that pain is an evolutionary advantage that allows us to detect when something hurts us, so we can avoid it. This would seem to be the case for crabs and humans alike. ### Nociception and pain However, inability to feel pain does not entail failure to detect harm. In pain research, a distinction is made between nociception and pain. Nociception is the ability to record painful stimuli as sensory input. These input may be used to trigger reflex actions that require no conscious awareness. Alternatively, they may provoke pain. Pain is a subjective feeling of discomfort, something that makes it notoriously difficult to study in non-human animals (and sometimes in humans, too). To appreciate the fact that nociception is a distinct phenomenon, consider the classic case of putting your hand on a hot stove. It hurts, so you quickly withdraw your hand. Except, [that's not the order of events](http://physiologyplus.com/withdrawal-reflex/). As you touch the stove, nervous signals travel to the spinal cord and then back to the muscles in your arm. Other signals continue up the spinal cord and into your brain where a series of brain centers collectively produce the unpleasant sensation of burning. This processing takes time, and by the time you become aware of your mistake, you've already moved your hand. What's the point in pain, then? [Several options have been suggested](http://www.bib.uab.es/veter/expo/benestar/assessment%20of%20pain.pdf). One of them is that pain allows us to remember harmful experiences, so we can avoid them in the future. Keep our hands off the stove, so to speak. One way of distinguishing nociception from pain in animals could therefore be to demonstrate learning in response to a noxious stimulus. Another way is to demonstrate a motivational trade-off, i.e. showing that the animal responds differently to the same noxious stimulus, if the motivation to endure it is altered. None of these methods are perfect. Motivational trade-offs and learning behaviour can both be encoded in a robot, a presumably painless system. Nevertheless, given that robots can even be made to mimic human pain to a great extent, there has to be a point where we accord to other animals the benefit of the doubt. A clear demonstration of learning from harm could be this point. How do crustaceans fare in this regard? Have a look in [the review I mentioned](https://www.researchgate.net/publication/266794956_Defining_and_assessing_animal_pain) or stay tuned for my next post. |
| json metadata | {"tags":["science","biology","animals","pain","nature"],"image":["https://steemitimages.com/DQmer7yNB9TKjHczGrkVMUv9grMw9nfRLMEBj6w4kyx12At/image.png","https://steemitimages.com/DQmP7yB114rtVTVgHqYuDNq9NDZhBPfh7LHjUiGSDq2pazD/image.png"],"links":["https://www.independent.co.uk/news/science/lobsters-boil-alive-cooking-ban-taste-animal-pain-uk-switzerland-welfare-a8217921.html#commentsDiv","https://commons.wikimedia.org/wiki/File:Common_shore_crab_2.JPG","https://www.omicsonline.org/the-effects-of-eyestalk-ablation-on-the-reproductive-and-immune-function-of-female-macrobrachium-americanum-2155-9546.1000156.php?aid=10097","https://www.researchgate.net/publication/266794956_Defining_and_assessing_animal_pain","https://commons.wikimedia.org/wiki/File:AnimalsRelativeNumbers.png","http://physiologyplus.com/withdrawal-reflex/","http://www.bib.uab.es/veter/expo/benestar/assessment%20of%20pain.pdf"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #20902836/Trx 927c506f101934a3fbe6f1922f722e883ced6f87 |
View Raw JSON Data
{
"trx_id": "927c506f101934a3fbe6f1922f722e883ced6f87",
"block": 20902836,
"trx_in_block": 13,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-22T16:43:48",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "science",
"author": "callimico",
"permlink": "new-series-pain-in-animals",
"title": "New series: Pain in animals",
"body": "Just last month, [Switzerland became the first country in the world to ban the practice of boiling lobsters alive](https://www.independent.co.uk/news/science/lobsters-boil-alive-cooking-ban-taste-animal-pain-uk-switzerland-welfare-a8217921.html#commentsDiv). But do lobsters even feel pain? In my upcoming posts, I will talk about pain in animals, what we know and what we don't know.\n\n### But first, an introduction\n\nI've cared deeply about animals for as long as I can remember. So great was my childhood fascination that I decided to become a biologist already in elementary school. As I'm currently in the process of writing my Master's thesis in biology, that dream has almost come true. For a self-proclaimed friend of animals, however, the topic of my thesis may come across as paradoxical: pain in crustaceans. I'm torturing crabs, basically. \n\n\n\"You monster!\" [Image by D. Hazerli](https://commons.wikimedia.org/wiki/File:Common_shore_crab_2.JPG)\n\nAllow me a few lines to justify my actions:\n\n1. The purpose of my experiments is to find out _if_ crustaceans are capable of suffering. If not, I've done no harm. If they do, I take solace in the fact that...\n1. ... the stuff I'm subjecting my crabs to is quite mild (a spray of hot water on the claw) and causes no visible injuries.\n\nBut still, why study pain in crustaceans? For one thing, many are treated harshly by humans. Lobsters are boiled alive, crabs have their claws ripped off and [prawns have their eyestalks cut off to increase fertility](https://www.omicsonline.org/the-effects-of-eyestalk-ablation-on-the-reproductive-and-immune-function-of-female-macrobrachium-americanum-2155-9546.1000156.php?aid=10097); if crustaceans do suffer, they suffer a lot!\n\nCrustaceans are interesting experimental subjects, because their nervous system is simpler than the ones in animals we currently believe to feel pain, i.e. mostly vertebrates (here's [a review](https://www.researchgate.net/publication/266794956_Defining_and_assessing_animal_pain)). In other words, demonstrating behaviour in crustaceans consistent with pain would lower the threshold at which we start to assume pain in animals based on brain capacity. If an animal can feel pain, it also means that it has a form of consciousness. Which is what really fascinates me the most. You and I might care about animals, but to what extent do the animals themselves care about anything?\n\nCrustaceans belong to the arthropods, the most numerous animal group on the planet, both in terms of species and number of individuals. The group also includes insects, chelicerates (e.g. spiders and scorpions) and myriapods (millipedes and centipedes). If just a fraction of these creatures feel pain, then the amount of suffering in the world is much greater than we might have anticipated.\n\n\n[Image by Nick Beeson](https://commons.wikimedia.org/wiki/File:AnimalsRelativeNumbers.png)\n\nOr maybe you've already anticipated it. A common reaction from people I tell about my research (oh, the awkward first encounters...) is this:\n\n\"But why shouldn't they feel pain?\"\n\nThis is not just anthropomorphism. Several of my conversation partners note that pain is an evolutionary advantage that allows us to detect when something hurts us, so we can avoid it. This would seem to be the case for crabs and humans alike.\n\n### Nociception and pain\n\nHowever, inability to feel pain does not entail failure to detect harm. In pain research, a distinction is made between nociception and pain. Nociception is the ability to record painful stimuli as sensory input. These input may be used to trigger reflex actions that require no conscious awareness. Alternatively, they may provoke pain. Pain is a subjective feeling of discomfort, something that makes it notoriously difficult to study in non-human animals (and sometimes in humans, too). To appreciate the fact that nociception is a distinct phenomenon, consider the classic case of putting your hand on a hot stove. It hurts, so you quickly withdraw your hand. Except, [that's not the order of events](http://physiologyplus.com/withdrawal-reflex/). As you touch the stove, nervous signals travel to the spinal cord and then back to the muscles in your arm. Other signals continue up the spinal cord and into your brain where a series of brain centers collectively produce the unpleasant sensation of burning. This processing takes time, and by the time you become aware of your mistake, you've already moved your hand. What's the point in pain, then? [Several options have been suggested](http://www.bib.uab.es/veter/expo/benestar/assessment%20of%20pain.pdf). One of them is that pain allows us to remember harmful experiences, so we can avoid them in the future. Keep our hands off the stove, so to speak. \n\nOne way of distinguishing nociception from pain in animals could therefore be to demonstrate learning in response to a noxious stimulus. Another way is to demonstrate a motivational trade-off, i.e. showing that the animal responds differently to the same noxious stimulus, if the motivation to endure it is altered.\n\nNone of these methods are perfect. Motivational trade-offs and learning behaviour can both be encoded in a robot, a presumably painless system. Nevertheless, given that robots can even be made to mimic human pain to a great extent, there has to be a point where we accord to other animals the benefit of the doubt. A clear demonstration of learning from harm could be this point.\n\nHow do crustaceans fare in this regard? Have a look in [the review I mentioned](https://www.researchgate.net/publication/266794956_Defining_and_assessing_animal_pain) or stay tuned for my next post.",
"json_metadata": "{\"tags\":[\"science\",\"biology\",\"animals\",\"pain\",\"nature\"],\"image\":[\"https://steemitimages.com/DQmer7yNB9TKjHczGrkVMUv9grMw9nfRLMEBj6w4kyx12At/image.png\",\"https://steemitimages.com/DQmP7yB114rtVTVgHqYuDNq9NDZhBPfh7LHjUiGSDq2pazD/image.png\"],\"links\":[\"https://www.independent.co.uk/news/science/lobsters-boil-alive-cooking-ban-taste-animal-pain-uk-switzerland-welfare-a8217921.html#commentsDiv\",\"https://commons.wikimedia.org/wiki/File:Common_shore_crab_2.JPG\",\"https://www.omicsonline.org/the-effects-of-eyestalk-ablation-on-the-reproductive-and-immune-function-of-female-macrobrachium-americanum-2155-9546.1000156.php?aid=10097\",\"https://www.researchgate.net/publication/266794956_Defining_and_assessing_animal_pain\",\"https://commons.wikimedia.org/wiki/File:AnimalsRelativeNumbers.png\",\"http://physiologyplus.com/withdrawal-reflex/\",\"http://www.bib.uab.es/veter/expo/benestar/assessment%20of%20pain.pdf\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}2018/03/21 19:14:36
2018/03/21 19:14:36
| parent author | callimico |
| parent permlink | re-mike00632-re-callimico-alternative-approach-to-subtractions-20180321t104041236z |
| author | mike00632 |
| permlink | re-callimico-re-mike00632-re-callimico-alternative-approach-to-subtractions-20180321t191433381z |
| title | |
| body | I wodered that because I was thinking about more efficient ways to write programs that perform arithmatic. |
| json metadata | {"tags":["math"],"app":"steemit/0.1"} |
| Transaction Info | Block #20877125/Trx c5410af127cd432673d8d75db7d56ea1d1d80551 |
View Raw JSON Data
{
"trx_id": "c5410af127cd432673d8d75db7d56ea1d1d80551",
"block": 20877125,
"trx_in_block": 36,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-21T19:14:36",
"op": [
"comment",
{
"parent_author": "callimico",
"parent_permlink": "re-mike00632-re-callimico-alternative-approach-to-subtractions-20180321t104041236z",
"author": "mike00632",
"permlink": "re-callimico-re-mike00632-re-callimico-alternative-approach-to-subtractions-20180321t191433381z",
"title": "",
"body": "I wodered that because I was thinking about more efficient ways to write programs that perform arithmatic.",
"json_metadata": "{\"tags\":[\"math\"],\"app\":\"steemit/0.1\"}"
}
]
}callimicoupdated their account properties2018/03/21 11:02:24
callimicoupdated their account properties
2018/03/21 11:02:24
| account | callimico |
| memo key | STM5tiGgRZ3fjkLhuzfnbmvRGNgPFAYF8rzLBgG71wFAWELPW23jr |
| json metadata | {"profile":{"profile_image":"https://upload.wikimedia.org/wikipedia/commons/7/77/Goeldi%27s_Marmoset.jpg","about":"Danish biology student with a passion for animals, language learning and musical composition among other things"}} |
| Transaction Info | Block #20867403/Trx 94acf1ae07dbf19ba5db6dba14e5fd3be1d2486c |
View Raw JSON Data
{
"trx_id": "94acf1ae07dbf19ba5db6dba14e5fd3be1d2486c",
"block": 20867403,
"trx_in_block": 53,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-21T11:02:24",
"op": [
"account_update",
{
"account": "callimico",
"memo_key": "STM5tiGgRZ3fjkLhuzfnbmvRGNgPFAYF8rzLBgG71wFAWELPW23jr",
"json_metadata": "{\"profile\":{\"profile_image\":\"https://upload.wikimedia.org/wikipedia/commons/7/77/Goeldi%27s_Marmoset.jpg\",\"about\":\"Danish biology student with a passion for animals, language learning and musical composition among other things\"}}"
}
]
}callimicofollowed @mike006322018/03/21 10:56:36
callimicofollowed @mike00632
2018/03/21 10:56:36
| required auths | [] |
| required posting auths | ["callimico"] |
| id | follow |
| json | ["follow",{"follower":"callimico","following":"mike00632","what":["blog"]}] |
| Transaction Info | Block #20867292/Trx 7b28bdec7d612fc4ce243b0d5f580e809edeb11f |
View Raw JSON Data
{
"trx_id": "7b28bdec7d612fc4ce243b0d5f580e809edeb11f",
"block": 20867292,
"trx_in_block": 41,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-21T10:56:36",
"op": [
"custom_json",
{
"required_auths": [],
"required_posting_auths": [
"callimico"
],
"id": "follow",
"json": "[\"follow\",{\"follower\":\"callimico\",\"following\":\"mike00632\",\"what\":[\"blog\"]}]"
}
]
}callimicopublished a new post: alternative-approach-to-subtractions2018/03/21 10:42:18
callimicopublished a new post: alternative-approach-to-subtractions
2018/03/21 10:42:18
| parent author | |
| parent permlink | math |
| author | callimico |
| permlink | alternative-approach-to-subtractions |
| title | Alternative approach to subtractions |
| body | Consider the following calculation:  In elementary school, I was taught to solve this kind of problem by borrowing tens to fill in the missing ones, hundreds to fill in missing tens and so on:  This method is annoying in cases where you have to do a lot of borrowing, so I came up with an alternative approach. Whereas subtraction from a number like 2018 is likely to involve some borrowing (since 2, 0 and 1 are low digits), the number 999 never will. Therefore, let’s split up the previous problem like this:  This subtraction is much faster to make than the previous one, but now we need to add the difference between 2018 and 999. Fortunately, we don’t have to think hard to find this difference: simply subtract one from the first digit in 2018 and add one to the last:  Then, do the addition:  Problem solved! Here’s the general two-step procedure for subtracting a number y from a number x: 1: Subtract y from a number consisting of as many 9’s as the number of digits in x, minus 1. Don’t waste time writing out every 9; just use a shorthand like this:  2: Add the result to the number x from which you’ve lowered the first digit by 1 and increased the last digit by 1. If you’re accustomed to the classic method I mentioned at the beginning, you might not find my approach to be faster right away. However, it is advantageous in calculations where x and y are large, and y has higher digit values than x. Here’s a full solution to a subtraction problem, with x=210323 and y=89669:  Do you know a better method for doing subtractions by hand? Please let me know! |
| json metadata | {"tags":["math","mathematics","algebra","algorithm","numbers"],"image":["https://steemitimages.com/DQmSYFFBBe6UjaYzWpvumy24ZdZaZpV59tQjCNepn4fnPpg/image.png","https://steemitimages.com/DQmPRMsSVHE6cdje4k1KCzu8cuJt3aA53pyrg5BDEtR84uD/image.png","https://steemitimages.com/DQmT8pNiWMQ23tETLsfq2LqjrjGLsGSs3bd1WMNacZjmDhS/image.png","https://steemitimages.com/DQmQUnTt5RN6dDwrVENuKmotVzeyDbBtstoMJ2iFdAQCS6d/image.png","https://steemitimages.com/DQmWag4VVD1fMgLeQCNtiFTNakH59Lqf1sA6G6UusYC9Fbn/image.png","https://steemitimages.com/DQmPD4bTq5D7oJQTV6RYf5SpEyXzMVsLhresChYL7XgPGKE/image.png","https://steemitimages.com/DQmb81GxxBtCa64TJJTLrEBaJ9YvKPvSddxWsFjRJmDNpg9/image.png"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #20867020/Trx 6b03ee1643465951356c3715b31fe2cc90c78f22 |
View Raw JSON Data
{
"trx_id": "6b03ee1643465951356c3715b31fe2cc90c78f22",
"block": 20867020,
"trx_in_block": 44,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-21T10:42:18",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "math",
"author": "callimico",
"permlink": "alternative-approach-to-subtractions",
"title": "Alternative approach to subtractions",
"body": "Consider the following calculation:\n\n\n\nIn elementary school, I was taught to solve this kind of problem by borrowing tens to fill in the missing ones, hundreds to fill in missing tens and so on:\n\n\n\nThis method is annoying in cases where you have to do a lot of borrowing, so I came up with an alternative approach. Whereas subtraction from a number like 2018 is likely to involve some borrowing (since 2, 0 and 1 are low digits), the number 999 never will. Therefore, let’s split up the previous problem like this:\n\n \n\nThis subtraction is much faster to make than the previous one, but now we need to add the difference between 2018 and 999. Fortunately, we don’t have to think hard to find this difference: simply subtract one from the first digit in 2018 and add one to the last:\n\n\n\nThen, do the addition:\n\n\n\nProblem solved! Here’s the general two-step procedure for subtracting a number y from a number x:\n\n1: Subtract y from a number consisting of as many 9’s as the number of digits in x, minus 1. Don’t waste time writing out every 9; just use a shorthand like this:\n\n\n\n2: Add the result to the number x from which you’ve lowered the first digit by 1 and increased the last digit by 1.\n\nIf you’re accustomed to the classic method I mentioned at the beginning, you might not find my approach to be faster right away. However, it is advantageous in calculations where x and y are large, and y has higher digit values than x.\nHere’s a full solution to a subtraction problem, with x=210323 and y=89669:\n\n\n\nDo you know a better method for doing subtractions by hand? Please let me know!",
"json_metadata": "{\"tags\":[\"math\",\"mathematics\",\"algebra\",\"algorithm\",\"numbers\"],\"image\":[\"https://steemitimages.com/DQmSYFFBBe6UjaYzWpvumy24ZdZaZpV59tQjCNepn4fnPpg/image.png\",\"https://steemitimages.com/DQmPRMsSVHE6cdje4k1KCzu8cuJt3aA53pyrg5BDEtR84uD/image.png\",\"https://steemitimages.com/DQmT8pNiWMQ23tETLsfq2LqjrjGLsGSs3bd1WMNacZjmDhS/image.png\",\"https://steemitimages.com/DQmQUnTt5RN6dDwrVENuKmotVzeyDbBtstoMJ2iFdAQCS6d/image.png\",\"https://steemitimages.com/DQmWag4VVD1fMgLeQCNtiFTNakH59Lqf1sA6G6UusYC9Fbn/image.png\",\"https://steemitimages.com/DQmPD4bTq5D7oJQTV6RYf5SpEyXzMVsLhresChYL7XgPGKE/image.png\",\"https://steemitimages.com/DQmb81GxxBtCa64TJJTLrEBaJ9YvKPvSddxWsFjRJmDNpg9/image.png\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}2018/03/21 10:40:42
2018/03/21 10:40:42
| parent author | mike00632 |
| parent permlink | re-callimico-alternative-approach-to-subtractions-20180320t192109932z |
| author | callimico |
| permlink | re-mike00632-re-callimico-alternative-approach-to-subtractions-20180321t104041236z |
| title | |
| body | If forced to write out the steps, then the old method is definitely faster for an example like 2018 - 9. But I would argue that you shouldn't require any algorithm to solve that one ;). For typical elementary school puzzles, the difference in effort required to carry out the calculations is negligible, in which case the old method may be preferable, because it's more obvious from the writing what is going on. As the number of digits increase, I believe the amount of extra time required increases less with my method. |
| json metadata | {"tags":["math"],"app":"steemit/0.1"} |
| Transaction Info | Block #20866989/Trx 19c0bd9192168de11bf10926e62ce7a7a20f3718 |
View Raw JSON Data
{
"trx_id": "19c0bd9192168de11bf10926e62ce7a7a20f3718",
"block": 20866989,
"trx_in_block": 13,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-21T10:40:42",
"op": [
"comment",
{
"parent_author": "mike00632",
"parent_permlink": "re-callimico-alternative-approach-to-subtractions-20180320t192109932z",
"author": "callimico",
"permlink": "re-mike00632-re-callimico-alternative-approach-to-subtractions-20180321t104041236z",
"title": "",
"body": "If forced to write out the steps, then the old method is definitely faster for an example like 2018 - 9. But I would argue that you shouldn't require any algorithm to solve that one ;). \n\nFor typical elementary school puzzles, the difference in effort required to carry out the calculations is negligible, in which case the old method may be preferable, because it's more obvious from the writing what is going on. As the number of digits increase, I believe the amount of extra time required increases less with my method.",
"json_metadata": "{\"tags\":[\"math\"],\"app\":\"steemit/0.1\"}"
}
]
}2018/03/21 10:27:21
2018/03/21 10:27:21
| voter | callimico |
| author | mike00632 |
| permlink | re-callimico-alternative-approach-to-subtractions-20180320t192109932z |
| weight | 10000 (100.00%) |
| Transaction Info | Block #20866736/Trx 3c56f071dd73d47870b89e91921733818f782bab |
View Raw JSON Data
{
"trx_id": "3c56f071dd73d47870b89e91921733818f782bab",
"block": 20866736,
"trx_in_block": 28,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-21T10:27:21",
"op": [
"vote",
{
"voter": "callimico",
"author": "mike00632",
"permlink": "re-callimico-alternative-approach-to-subtractions-20180320t192109932z",
"weight": 10000
}
]
}2018/03/20 19:21:12
2018/03/20 19:21:12
| parent author | callimico |
| parent permlink | alternative-approach-to-subtractions |
| author | mike00632 |
| permlink | re-callimico-alternative-approach-to-subtractions-20180320t192109932z |
| title | |
| body | Beautiful. This certainly is more efficient for examples like the one you've shown (2018 - 779), but what about (2018 - 9)? I wonder what method is the most efficient on average. |
| json metadata | {"tags":["math"],"app":"steemit/0.1"} |
| Transaction Info | Block #20848866/Trx f386b106c9cd8b37ca4196f4f1d4a5a0a48d2156 |
View Raw JSON Data
{
"trx_id": "f386b106c9cd8b37ca4196f4f1d4a5a0a48d2156",
"block": 20848866,
"trx_in_block": 15,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-20T19:21:12",
"op": [
"comment",
{
"parent_author": "callimico",
"parent_permlink": "alternative-approach-to-subtractions",
"author": "mike00632",
"permlink": "re-callimico-alternative-approach-to-subtractions-20180320t192109932z",
"title": "",
"body": "Beautiful. This certainly is more efficient for examples like the one you've shown (2018 - 779), but what about (2018 - 9)? I wonder what method is the most efficient on average.",
"json_metadata": "{\"tags\":[\"math\"],\"app\":\"steemit/0.1\"}"
}
]
}mike00632upvoted (100.00%) @callimico / alternative-approach-to-subtractions2018/03/20 19:17:18
mike00632upvoted (100.00%) @callimico / alternative-approach-to-subtractions
2018/03/20 19:17:18
| voter | mike00632 |
| author | callimico |
| permlink | alternative-approach-to-subtractions |
| weight | 10000 (100.00%) |
| Transaction Info | Block #20848788/Trx 3b714fb62b19d4432bab057acaaafc329be99b45 |
View Raw JSON Data
{
"trx_id": "3b714fb62b19d4432bab057acaaafc329be99b45",
"block": 20848788,
"trx_in_block": 20,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-20T19:17:18",
"op": [
"vote",
{
"voter": "mike00632",
"author": "callimico",
"permlink": "alternative-approach-to-subtractions",
"weight": 10000
}
]
}keyballupvoted (28.54%) @callimico / alternative-approach-to-subtractions2018/03/20 17:28:54
keyballupvoted (28.54%) @callimico / alternative-approach-to-subtractions
2018/03/20 17:28:54
| voter | keyball |
| author | callimico |
| permlink | alternative-approach-to-subtractions |
| weight | 2854 (28.54%) |
| Transaction Info | Block #20846622/Trx 31dd4c1dbbfd06eadc86122f631764405ab83633 |
View Raw JSON Data
{
"trx_id": "31dd4c1dbbfd06eadc86122f631764405ab83633",
"block": 20846622,
"trx_in_block": 50,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-20T17:28:54",
"op": [
"vote",
{
"voter": "keyball",
"author": "callimico",
"permlink": "alternative-approach-to-subtractions",
"weight": 2854
}
]
}keyballreplied to @callimico / re-callimico-2018320t132838818z2018/03/20 17:28:39
keyballreplied to @callimico / re-callimico-2018320t132838818z
2018/03/20 17:28:39
| parent author | callimico |
| parent permlink | alternative-approach-to-subtractions |
| author | keyball |
| permlink | re-callimico-2018320t132838818z |
| title | |
| body | Key word borrow equals usery ! We were taught wrong to begin with !But I see a lot of us are waking up ! I you have some time check up on my post on why the Computer Keyboard Is Dead ! |
| json metadata | {"tags":["math","mathematics","numbers","algorithm","methods"],"app":"esteem/1.5.1","format":"markdown+html","community":"esteem"} |
| Transaction Info | Block #20846617/Trx 1c0135f75ca4166e3b8c12a0a997caa141f0639d |
View Raw JSON Data
{
"trx_id": "1c0135f75ca4166e3b8c12a0a997caa141f0639d",
"block": 20846617,
"trx_in_block": 63,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-20T17:28:39",
"op": [
"comment",
{
"parent_author": "callimico",
"parent_permlink": "alternative-approach-to-subtractions",
"author": "keyball",
"permlink": "re-callimico-2018320t132838818z",
"title": "",
"body": "Key word borrow equals usery ! We were taught wrong to begin with !But I see a lot of us are waking up ! I you have some time check up on my post on why the Computer Keyboard Is Dead !",
"json_metadata": "{\"tags\":[\"math\",\"mathematics\",\"numbers\",\"algorithm\",\"methods\"],\"app\":\"esteem/1.5.1\",\"format\":\"markdown+html\",\"community\":\"esteem\"}"
}
]
}callimicopublished a new post: alternative-approach-to-subtractions2018/03/20 17:17:57
callimicopublished a new post: alternative-approach-to-subtractions
2018/03/20 17:17:57
| parent author | |
| parent permlink | math |
| author | callimico |
| permlink | alternative-approach-to-subtractions |
| title | Alternative approach to subtractions |
| body | Consider the following calculation:  In elementary school, I was taught to solve this kind of problem by borrowing tens to fill in the missing ones, hundreds to fill in missing tens and so on:  This method is annoying in cases where you have to do a lot of borrowing, so I came up with an alternative approach. Whereas subtraction from a number like 2018 is likely to involve some borrowing (since 2, 0 and 1 are low digits), the number 999 never will. Therefore, let’s split up the previous problem like this:  This subtraction is much faster to make than the previous one, but now we need to add the difference between 2018 and 999. Fortunately, we don’t have to think hard to find this difference: simply subtract one from the first digit in 2018 and add one to the last:  Then, do the addition:  Problem solved! Here’s the general two-step procedure for subtracting a number y from a number x: 1: Subtract y from a number consisting of as many 9’s as the number of digits in x, minus 1. Don’t waste time writing out every 9; just use a shorthand like this:  2: Add the result to the number x from which you’ve lowered the first digit by 1 and increased the last digit by 1. If you’re accustomed to the classic method I mentioned at the beginning, you might not find my approach to be faster right away. However, it is advantageous in calculations where x and y are large, and y has higher digit values than x. Here’s a full solution to a subtraction problem, with x=210323 and y=89669:  Do you know a better method for doing subtractions by hand? Please let me know! |
| json metadata | {"tags":["math","mathematics","numbers","algorithm","methods"],"image":["https://steemitimages.com/DQmSYFFBBe6UjaYzWpvumy24ZdZaZpV59tQjCNepn4fnPpg/image.png","https://steemitimages.com/DQmPRMsSVHE6cdje4k1KCzu8cuJt3aA53pyrg5BDEtR84uD/image.png","https://steemitimages.com/DQmT8pNiWMQ23tETLsfq2LqjrjGLsGSs3bd1WMNacZjmDhS/image.png","https://steemitimages.com/DQmQUnTt5RN6dDwrVENuKmotVzeyDbBtstoMJ2iFdAQCS6d/image.png","https://steemitimages.com/DQmWag4VVD1fMgLeQCNtiFTNakH59Lqf1sA6G6UusYC9Fbn/image.png","https://steemitimages.com/DQmPD4bTq5D7oJQTV6RYf5SpEyXzMVsLhresChYL7XgPGKE/image.png","https://steemitimages.com/DQmb81GxxBtCa64TJJTLrEBaJ9YvKPvSddxWsFjRJmDNpg9/image.png"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #20846403/Trx fa083d240c3e44b7dad26e68a98d79ca49efb196 |
View Raw JSON Data
{
"trx_id": "fa083d240c3e44b7dad26e68a98d79ca49efb196",
"block": 20846403,
"trx_in_block": 55,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-20T17:17:57",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "math",
"author": "callimico",
"permlink": "alternative-approach-to-subtractions",
"title": "Alternative approach to subtractions",
"body": "Consider the following calculation:\n\n\n\nIn elementary school, I was taught to solve this kind of problem by borrowing tens to fill in the missing ones, hundreds to fill in missing tens and so on:\n\n\n\nThis method is annoying in cases where you have to do a lot of borrowing, so I came up with an alternative approach. Whereas subtraction from a number like 2018 is likely to involve some borrowing (since 2, 0 and 1 are low digits), the number 999 never will. Therefore, let’s split up the previous problem like this:\n\n \n\nThis subtraction is much faster to make than the previous one, but now we need to add the difference between 2018 and 999. Fortunately, we don’t have to think hard to find this difference: simply subtract one from the first digit in 2018 and add one to the last:\n\n\n\nThen, do the addition:\n\n\n\nProblem solved! Here’s the general two-step procedure for subtracting a number y from a number x:\n\n1: Subtract y from a number consisting of as many 9’s as the number of digits in x, minus 1. Don’t waste time writing out every 9; just use a shorthand like this:\n\n\n\n2: Add the result to the number x from which you’ve lowered the first digit by 1 and increased the last digit by 1.\n\nIf you’re accustomed to the classic method I mentioned at the beginning, you might not find my approach to be faster right away. However, it is advantageous in calculations where x and y are large, and y has higher digit values than x.\nHere’s a full solution to a subtraction problem, with x=210323 and y=89669:\n\n\n\nDo you know a better method for doing subtractions by hand? Please let me know!",
"json_metadata": "{\"tags\":[\"math\",\"mathematics\",\"numbers\",\"algorithm\",\"methods\"],\"image\":[\"https://steemitimages.com/DQmSYFFBBe6UjaYzWpvumy24ZdZaZpV59tQjCNepn4fnPpg/image.png\",\"https://steemitimages.com/DQmPRMsSVHE6cdje4k1KCzu8cuJt3aA53pyrg5BDEtR84uD/image.png\",\"https://steemitimages.com/DQmT8pNiWMQ23tETLsfq2LqjrjGLsGSs3bd1WMNacZjmDhS/image.png\",\"https://steemitimages.com/DQmQUnTt5RN6dDwrVENuKmotVzeyDbBtstoMJ2iFdAQCS6d/image.png\",\"https://steemitimages.com/DQmWag4VVD1fMgLeQCNtiFTNakH59Lqf1sA6G6UusYC9Fbn/image.png\",\"https://steemitimages.com/DQmPD4bTq5D7oJQTV6RYf5SpEyXzMVsLhresChYL7XgPGKE/image.png\",\"https://steemitimages.com/DQmb81GxxBtCa64TJJTLrEBaJ9YvKPvSddxWsFjRJmDNpg9/image.png\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}callimicopublished a new post: alternative-approach-to-subtractions2018/03/20 17:09:21
callimicopublished a new post: alternative-approach-to-subtractions
2018/03/20 17:09:21
| parent author | |
| parent permlink | math |
| author | callimico |
| permlink | alternative-approach-to-subtractions |
| title | Alternative approach to subtractions |
| body | Consider the following calculation:  In elementary school, I was taught to solve this kind of problem by borrowing tens to fill in the missing ones, hundreds to fill in missing tens and so on:  This method is annoying in cases where you have to do a lot of borrowing, so I came up with an alternative approach. Whereas subtraction from a number like 2018 is likely to involve some borrowing (since 2, 0 and 1 are low digits), the number 999 never will. Therefore, let’s split up the previous problem like this:  This subtraction is much faster to make than the previous one, but now we need to add the difference between 2018 and 999. Fortunately, we don’t have to think hard to find this difference: simply subtract one from the first digit in 2018 and add one to the last:  Then, do the addition:  Problem solved! Here’s the general two-step procedure for subtracting a number y from a number x: 1: Subtract y from a number consisting of as many 9’s as the number of digits in x, minus 1. Don’t waste time writing out every 9; just use a shorthand like this:  2: Add the result to the number x from which you’ve lowered the first digit by 1 and increased the last digit by 1. If you’re accustomed to the classic method I mentioned at the beginning, you might not find my approach to be faster right away. However, it is advantageous in calculations where x and y are large, and y has higher digit values than x. Here’s a full solution to a subtraction problem, with x=210323 and y=89669:  Do you know a better method for doing subtractions by hand? Please let me know! |
| json metadata | {"tags":["math","algorithm","numbers","methods","arithmetics"],"image":["https://steemitimages.com/DQmSYFFBBe6UjaYzWpvumy24ZdZaZpV59tQjCNepn4fnPpg/image.png","https://steemitimages.com/DQmPRMsSVHE6cdje4k1KCzu8cuJt3aA53pyrg5BDEtR84uD/image.png","https://steemitimages.com/DQmT8pNiWMQ23tETLsfq2LqjrjGLsGSs3bd1WMNacZjmDhS/image.png","https://steemitimages.com/DQmQUnTt5RN6dDwrVENuKmotVzeyDbBtstoMJ2iFdAQCS6d/image.png","https://steemitimages.com/DQmWag4VVD1fMgLeQCNtiFTNakH59Lqf1sA6G6UusYC9Fbn/image.png","https://steemitimages.com/DQmPD4bTq5D7oJQTV6RYf5SpEyXzMVsLhresChYL7XgPGKE/image.png","https://steemitimages.com/DQmb81GxxBtCa64TJJTLrEBaJ9YvKPvSddxWsFjRJmDNpg9/image.png"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #20846231/Trx e826c9c29a34aa048d88d7fc4e78bb41fe59d337 |
View Raw JSON Data
{
"trx_id": "e826c9c29a34aa048d88d7fc4e78bb41fe59d337",
"block": 20846231,
"trx_in_block": 61,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-20T17:09:21",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "math",
"author": "callimico",
"permlink": "alternative-approach-to-subtractions",
"title": "Alternative approach to subtractions",
"body": "Consider the following calculation:\n\n\n\nIn elementary school, I was taught to solve this kind of problem by borrowing tens to fill in the missing ones, hundreds to fill in missing tens and so on:\n\n\n\nThis method is annoying in cases where you have to do a lot of borrowing, so I came up with an alternative approach. Whereas subtraction from a number like 2018 is likely to involve some borrowing (since 2, 0 and 1 are low digits), the number 999 never will. Therefore, let’s split up the previous problem like this:\n\n \n\nThis subtraction is much faster to make than the previous one, but now we need to add the difference between 2018 and 999. Fortunately, we don’t have to think hard to find this difference: simply subtract one from the first digit in 2018 and add one to the last:\n\n\n\nThen, do the addition:\n\n\n\nProblem solved! Here’s the general two-step procedure for subtracting a number y from a number x:\n\n1: Subtract y from a number consisting of as many 9’s as the number of digits in x, minus 1. Don’t waste time writing out every 9; just use a shorthand like this:\n\n\n\n2: Add the result to the number x from which you’ve lowered the first digit by 1 and increased the last digit by 1.\n\nIf you’re accustomed to the classic method I mentioned at the beginning, you might not find my approach to be faster right away. However, it is advantageous in calculations where x and y are large, and y has higher digit values than x.\nHere’s a full solution to a subtraction problem, with x=210323 and y=89669:\n\n\n\nDo you know a better method for doing subtractions by hand? Please let me know!",
"json_metadata": "{\"tags\":[\"math\",\"algorithm\",\"numbers\",\"methods\",\"arithmetics\"],\"image\":[\"https://steemitimages.com/DQmSYFFBBe6UjaYzWpvumy24ZdZaZpV59tQjCNepn4fnPpg/image.png\",\"https://steemitimages.com/DQmPRMsSVHE6cdje4k1KCzu8cuJt3aA53pyrg5BDEtR84uD/image.png\",\"https://steemitimages.com/DQmT8pNiWMQ23tETLsfq2LqjrjGLsGSs3bd1WMNacZjmDhS/image.png\",\"https://steemitimages.com/DQmQUnTt5RN6dDwrVENuKmotVzeyDbBtstoMJ2iFdAQCS6d/image.png\",\"https://steemitimages.com/DQmWag4VVD1fMgLeQCNtiFTNakH59Lqf1sA6G6UusYC9Fbn/image.png\",\"https://steemitimages.com/DQmPD4bTq5D7oJQTV6RYf5SpEyXzMVsLhresChYL7XgPGKE/image.png\",\"https://steemitimages.com/DQmb81GxxBtCa64TJJTLrEBaJ9YvKPvSddxWsFjRJmDNpg9/image.png\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}2018/03/20 15:48:06
2018/03/20 15:48:06
| voter | callimico |
| author | lukestokes |
| permlink | working-on-a-long-steemit-post-save-the-draft-as-a-github-gist-file |
| weight | 10000 (100.00%) |
| Transaction Info | Block #20844610/Trx 250b0d4b45e78ff87385f83851345b8b46a1a1c6 |
View Raw JSON Data
{
"trx_id": "250b0d4b45e78ff87385f83851345b8b46a1a1c6",
"block": 20844610,
"trx_in_block": 9,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-20T15:48:06",
"op": [
"vote",
{
"voter": "callimico",
"author": "lukestokes",
"permlink": "working-on-a-long-steemit-post-save-the-draft-as-a-github-gist-file",
"weight": 10000
}
]
}callimicoupvoted (100.00%) @bacchist / save-draft-posts2018/03/20 15:43:15
callimicoupvoted (100.00%) @bacchist / save-draft-posts
2018/03/20 15:43:15
| voter | callimico |
| author | bacchist |
| permlink | save-draft-posts |
| weight | 10000 (100.00%) |
| Transaction Info | Block #20844514/Trx 5fa013ccb8f77c0f7360056333ec16bd94d431a7 |
View Raw JSON Data
{
"trx_id": "5fa013ccb8f77c0f7360056333ec16bd94d431a7",
"block": 20844514,
"trx_in_block": 33,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-20T15:43:15",
"op": [
"vote",
{
"voter": "callimico",
"author": "bacchist",
"permlink": "save-draft-posts",
"weight": 10000
}
]
}2018/03/18 14:31:24
2018/03/18 14:31:24
| voter | callimico |
| author | teamsteem |
| permlink | re-xyzashu-re-teamsteem-re-xyzashu-plants-do-feel-pain-but-why-do-vegans-argue-otherwise-20180305t021757115z |
| weight | 10000 (100.00%) |
| Transaction Info | Block #20785517/Trx 5573156648777b9025de9cf3112eb13cf9cc8e44 |
View Raw JSON Data
{
"trx_id": "5573156648777b9025de9cf3112eb13cf9cc8e44",
"block": 20785517,
"trx_in_block": 40,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-18T14:31:24",
"op": [
"vote",
{
"voter": "callimico",
"author": "teamsteem",
"permlink": "re-xyzashu-re-teamsteem-re-xyzashu-plants-do-feel-pain-but-why-do-vegans-argue-otherwise-20180305t021757115z",
"weight": 10000
}
]
}2018/03/18 14:31:00
2018/03/18 14:31:00
| voter | callimico |
| author | teamsteem |
| permlink | re-xyzashu-plants-do-feel-pain-but-why-do-vegans-argue-otherwise-20180304t023355651z |
| weight | 10000 (100.00%) |
| Transaction Info | Block #20785509/Trx 5d35441810527614a508d12176aa1e594ccbf03f |
View Raw JSON Data
{
"trx_id": "5d35441810527614a508d12176aa1e594ccbf03f",
"block": 20785509,
"trx_in_block": 52,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-18T14:31:00",
"op": [
"vote",
{
"voter": "callimico",
"author": "teamsteem",
"permlink": "re-xyzashu-plants-do-feel-pain-but-why-do-vegans-argue-otherwise-20180304t023355651z",
"weight": 10000
}
]
}2018/03/18 14:29:09
2018/03/18 14:29:09
| parent author | h725 |
| parent permlink | do-invertebrates-feel-pain |
| author | callimico |
| permlink | re-h725-do-invertebrates-feel-pain-20180318t142911168z |
| title | |
| body | Nice read! I liked this part in particular: "In conclusion, the difficulty of drawing a line between the species that can be used without any concern and the pain-sensitive species in the same group, does not by itself justify drawing an arbitrary line." I've been working on/off on the topic of pain in crustaceans for about a year now, and I still don't know what to believe. In my opinion, the article by Magee and Elwood currently provides some of the best support in favor of pain, (along with this http://science.sciencemag.org/content/344/6189/1293). And yet, it's not terribly convincing. If you have a look at Fig. 1 in Magee and Elwood's article, you'll see that on the tenth trial, about a third of all crabs still entered a shock chamber. Better than would be expected by change, but not much. If the learning ability of crabs is really this bad, one can't help but wonder how much they benefit from it in nature. If the answer is: "they don't", then what benefit does pain provide that nociceptive reflexes don't? The fact that anxiety-like behavior can be induced with electric shock and then removed pharmacologically in the same way in humans and crayfish (see the linked article) makes me think that decapods do feel pain. But I won't feel safe in drawing that conclusion until I've seen evidence of more complex harm-induced learning. |
| json metadata | {"tags":["animals"],"links":["http://science.sciencemag.org/content/344/6189/1293"],"app":"steemit/0.1"} |
| Transaction Info | Block #20785472/Trx 4fb93a8cccb25c55b7fa063e8abbec6bb29bfded |
View Raw JSON Data
{
"trx_id": "4fb93a8cccb25c55b7fa063e8abbec6bb29bfded",
"block": 20785472,
"trx_in_block": 58,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-18T14:29:09",
"op": [
"comment",
{
"parent_author": "h725",
"parent_permlink": "do-invertebrates-feel-pain",
"author": "callimico",
"permlink": "re-h725-do-invertebrates-feel-pain-20180318t142911168z",
"title": "",
"body": "Nice read! I liked this part in particular: \"In conclusion, the difficulty of drawing a line between the species that can be used without any concern and the pain-sensitive species in the same group, does not by itself justify drawing an arbitrary line.\"\n\nI've been working on/off on the topic of pain in crustaceans for about a year now, and I still don't know what to believe. In my opinion, the article by Magee and Elwood currently provides some of the best support in favor of pain, (along with this http://science.sciencemag.org/content/344/6189/1293). And yet, it's not terribly convincing. If you have a look at Fig. 1 in Magee and Elwood's article, you'll see that on the tenth trial, about a third of all crabs still entered a shock chamber. Better than would be expected by change, but not much. If the learning ability of crabs is really this bad, one can't help but wonder how much they benefit from it in nature. If the answer is: \"they don't\", then what benefit does pain provide that nociceptive reflexes don't?\n\nThe fact that anxiety-like behavior can be induced with electric shock and then removed pharmacologically in the same way in humans and crayfish (see the linked article) makes me think that decapods do feel pain. But I won't feel safe in drawing that conclusion until I've seen evidence of more complex harm-induced learning.",
"json_metadata": "{\"tags\":[\"animals\"],\"links\":[\"http://science.sciencemag.org/content/344/6189/1293\"],\"app\":\"steemit/0.1\"}"
}
]
}callimicoupvoted (100.00%) @h725 / do-invertebrates-feel-pain2018/03/18 13:43:21
callimicoupvoted (100.00%) @h725 / do-invertebrates-feel-pain
2018/03/18 13:43:21
| voter | callimico |
| author | h725 |
| permlink | do-invertebrates-feel-pain |
| weight | 10000 (100.00%) |
| Transaction Info | Block #20784556/Trx 65e085d1d2d8fcc9d1b2a062f1217ea8cd3f71f3 |
View Raw JSON Data
{
"trx_id": "65e085d1d2d8fcc9d1b2a062f1217ea8cd3f71f3",
"block": 20784556,
"trx_in_block": 23,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-18T13:43:21",
"op": [
"vote",
{
"voter": "callimico",
"author": "h725",
"permlink": "do-invertebrates-feel-pain",
"weight": 10000
}
]
}2018/03/18 01:38:18
2018/03/18 01:38:18
| parent author | callimico |
| parent permlink | how-to-draw-an-evolutionary-tree-ii-maximum-parsimony |
| author | steemitboard |
| permlink | steemitboard-notify-callimico-20180318t013817000z |
| title | |
| body | Congratulations @callimico! You have completed some achievement on Steemit and have been rewarded with new badge(s) : [](http://steemitboard.com/@callimico) Award for the number of upvotes Click on any badge to view your own Board of Honor on SteemitBoard. For more information about SteemitBoard, click [here](https://steemit.com/@steemitboard) If you no longer want to receive notifications, reply to this comment with the word `STOP` > Upvote this notification to help all Steemit users. Learn why [here](https://steemit.com/steemitboard/@steemitboard/http-i-cubeupload-com-7ciqeo-png)! |
| json metadata | {"image":["https://steemitboard.com/img/notifications.png"]} |
| Transaction Info | Block #20770057/Trx f9f99179adad90cdce3f72371c24804eca7ef22a |
View Raw JSON Data
{
"trx_id": "f9f99179adad90cdce3f72371c24804eca7ef22a",
"block": 20770057,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-18T01:38:18",
"op": [
"comment",
{
"parent_author": "callimico",
"parent_permlink": "how-to-draw-an-evolutionary-tree-ii-maximum-parsimony",
"author": "steemitboard",
"permlink": "steemitboard-notify-callimico-20180318t013817000z",
"title": "",
"body": "Congratulations @callimico! You have completed some achievement on Steemit and have been rewarded with new badge(s) :\n\n[](http://steemitboard.com/@callimico) Award for the number of upvotes\n\nClick on any badge to view your own Board of Honor on SteemitBoard.\nFor more information about SteemitBoard, click [here](https://steemit.com/@steemitboard)\n\nIf you no longer want to receive notifications, reply to this comment with the word `STOP`\n\n> Upvote this notification to help all Steemit users. Learn why [here](https://steemit.com/steemitboard/@steemitboard/http-i-cubeupload-com-7ciqeo-png)!",
"json_metadata": "{\"image\":[\"https://steemitboard.com/img/notifications.png\"]}"
}
]
}callimicopublished a new post: how-to-draw-an-evolutionary-tree-ii-maximum-parsimony2018/03/17 19:37:45
callimicopublished a new post: how-to-draw-an-evolutionary-tree-ii-maximum-parsimony
2018/03/17 19:37:45
| parent author | |
| parent permlink | science |
| author | callimico |
| permlink | how-to-draw-an-evolutionary-tree-ii-maximum-parsimony |
| title | How to draw an evolutionary tree II: maximum parsimony |
| body | @@ -4379,16 +4379,23 @@ O. Baum + (2008) : %22Under |
| json metadata | {"tags":["science","evolution","math","biology","bioinformatics"],"image":["https://steemitimages.com/DQmRVoQ1NBxhEWxdRigpQB2dmixrnQ1gYWGJgHs7N171BUE/UPGMA%20tree.png","https://steemitimages.com/DQmeUoWk2T2nFyvoKQkYbyceoCKqrirNcYNuhdWF1etawSN/maximum_parsimony.png","https://steemitimages.com/DQmNaB8S37aY8z1do34KD7K8zkbAcvQDyKwUdw84MLbuajL/maximum_parsimony2.png","https://steemitimages.com/DQmPSCM5TcqJNcftgfMPhsWVMNcm4LswpacZfCXkJUfX6G9/maximum_parsimony3.png","https://steemitimages.com/DQmcxcFw6a1BjJvBTzRF9uUjh8WP7ew6DpihdxkQiCELkdt/maximum_parsimony4.png","https://steemitimages.com/DQmZeK7HtZzrqb2585XE8JKaR86CfufVXtyrWceUHFi9ooW/maximum_parsimony5.png"],"links":["https://steemit.com/science/@callimico/how-to-draw-an-evolutionary-tree-upgma","http://iubio.bio.indiana.edu/treeapp/treeprint-form.html"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #20762851/Trx 82b49b7bdbf8827909dd3e622921d61ba647c740 |
View Raw JSON Data
{
"trx_id": "82b49b7bdbf8827909dd3e622921d61ba647c740",
"block": 20762851,
"trx_in_block": 38,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-17T19:37:45",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "science",
"author": "callimico",
"permlink": "how-to-draw-an-evolutionary-tree-ii-maximum-parsimony",
"title": "How to draw an evolutionary tree II: maximum parsimony",
"body": "@@ -4379,16 +4379,23 @@\n O. Baum\n+ (2008)\n : %22Under\n",
"json_metadata": "{\"tags\":[\"science\",\"evolution\",\"math\",\"biology\",\"bioinformatics\"],\"image\":[\"https://steemitimages.com/DQmRVoQ1NBxhEWxdRigpQB2dmixrnQ1gYWGJgHs7N171BUE/UPGMA%20tree.png\",\"https://steemitimages.com/DQmeUoWk2T2nFyvoKQkYbyceoCKqrirNcYNuhdWF1etawSN/maximum_parsimony.png\",\"https://steemitimages.com/DQmNaB8S37aY8z1do34KD7K8zkbAcvQDyKwUdw84MLbuajL/maximum_parsimony2.png\",\"https://steemitimages.com/DQmPSCM5TcqJNcftgfMPhsWVMNcm4LswpacZfCXkJUfX6G9/maximum_parsimony3.png\",\"https://steemitimages.com/DQmcxcFw6a1BjJvBTzRF9uUjh8WP7ew6DpihdxkQiCELkdt/maximum_parsimony4.png\",\"https://steemitimages.com/DQmZeK7HtZzrqb2585XE8JKaR86CfufVXtyrWceUHFi9ooW/maximum_parsimony5.png\"],\"links\":[\"https://steemit.com/science/@callimico/how-to-draw-an-evolutionary-tree-upgma\",\"http://iubio.bio.indiana.edu/treeapp/treeprint-form.html\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}callimicopublished a new post: how-to-draw-an-evolutionary-tree-upgma2018/03/17 19:37:09
callimicopublished a new post: how-to-draw-an-evolutionary-tree-upgma
2018/03/17 19:37:09
| parent author | |
| parent permlink | science |
| author | callimico |
| permlink | how-to-draw-an-evolutionary-tree-upgma |
| title | How to draw an evolutionary tree: UPGMA |
| body | @@ -4053,16 +4053,23 @@ O. Baum + (2008) : %22Under |
| json metadata | {"tags":["science","evolution","math","bioinformatics","biology"],"image":["https://steemitimages.com/DQmcSGFw1ahbi86m4gYChSz3odrx2CX9pFRGaai1keX3xyM/image.png","https://steemitimages.com/DQmUbZSjPrNP1xCvwoSRPxoprXhNDHthZYyba3gFSHUprzx/image.png","https://steemitimages.com/DQmbJaje95rdNWtqB2z9nEUrFW1ZNZ9QzrbxDvyeL2RsedD/image.png","https://steemitimages.com/DQmanAucqaNK7ZUXDBkwWQvr8qPiCiRqVs5pfFmaRStVPGS/image.png","https://steemitimages.com/DQmUwiZ5JpnSmT4vFqecdBdMu7GFmY3s2iyaUvTpp3MVy66/image.png","https://steemitimages.com/DQmRVoQ1NBxhEWxdRigpQB2dmixrnQ1gYWGJgHs7N171BUE/UPGMA%20tree.png"],"links":["https://steemit.com/science/@callimico/why-you-re-more-closely-related-to-a-salmon-than-a-salmon-is-to-a-shark-understanding-evolutionary-phylogenies","https://steemit.com/science/@callimico/why-we-trust-in-dna-to-tell-us-how-organisms-are-related","http://iubio.bio.indiana.edu/treeapp/treeprint-form.html"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #20762839/Trx 3ab813a184055c3b11e5607b58209b9da7a996c2 |
View Raw JSON Data
{
"trx_id": "3ab813a184055c3b11e5607b58209b9da7a996c2",
"block": 20762839,
"trx_in_block": 22,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-17T19:37:09",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "science",
"author": "callimico",
"permlink": "how-to-draw-an-evolutionary-tree-upgma",
"title": "How to draw an evolutionary tree: UPGMA",
"body": "@@ -4053,16 +4053,23 @@\n O. Baum\n+ (2008)\n : %22Under\n",
"json_metadata": "{\"tags\":[\"science\",\"evolution\",\"math\",\"bioinformatics\",\"biology\"],\"image\":[\"https://steemitimages.com/DQmcSGFw1ahbi86m4gYChSz3odrx2CX9pFRGaai1keX3xyM/image.png\",\"https://steemitimages.com/DQmUbZSjPrNP1xCvwoSRPxoprXhNDHthZYyba3gFSHUprzx/image.png\",\"https://steemitimages.com/DQmbJaje95rdNWtqB2z9nEUrFW1ZNZ9QzrbxDvyeL2RsedD/image.png\",\"https://steemitimages.com/DQmanAucqaNK7ZUXDBkwWQvr8qPiCiRqVs5pfFmaRStVPGS/image.png\",\"https://steemitimages.com/DQmUwiZ5JpnSmT4vFqecdBdMu7GFmY3s2iyaUvTpp3MVy66/image.png\",\"https://steemitimages.com/DQmRVoQ1NBxhEWxdRigpQB2dmixrnQ1gYWGJgHs7N171BUE/UPGMA%20tree.png\"],\"links\":[\"https://steemit.com/science/@callimico/why-you-re-more-closely-related-to-a-salmon-than-a-salmon-is-to-a-shark-understanding-evolutionary-phylogenies\",\"https://steemit.com/science/@callimico/why-we-trust-in-dna-to-tell-us-how-organisms-are-related\",\"http://iubio.bio.indiana.edu/treeapp/treeprint-form.html\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}callimicopublished a new post: how-to-draw-an-evolutionary-tree-upgma2018/03/17 19:29:03
callimicopublished a new post: how-to-draw-an-evolutionary-tree-upgma
2018/03/17 19:29:03
| parent author | |
| parent permlink | science |
| author | callimico |
| permlink | how-to-draw-an-evolutionary-tree-upgma |
| title | How to draw an evolutionary tree: UPGMA |
| body | @@ -3889,88 +3889,8 @@ tree -, drawn with tools from http://iubio.bio.indiana.edu/treeapp/treeprint-form.html :%0A%0A! @@ -3993,12 +3993,180 @@ %2520tree.png) +%0A%0A### Book reference%0AMarketa Zvelebil and Jeremy O. Baum: %22Understanding Bioinformatics%22%0A%0A### Tree-drawing tool%0Ahttp://iubio.bio.indiana.edu/treeapp/treeprint-form.html |
| json metadata | {"tags":["science","evolution","math","bioinformatics","biology"],"image":["https://steemitimages.com/DQmcSGFw1ahbi86m4gYChSz3odrx2CX9pFRGaai1keX3xyM/image.png","https://steemitimages.com/DQmUbZSjPrNP1xCvwoSRPxoprXhNDHthZYyba3gFSHUprzx/image.png","https://steemitimages.com/DQmbJaje95rdNWtqB2z9nEUrFW1ZNZ9QzrbxDvyeL2RsedD/image.png","https://steemitimages.com/DQmanAucqaNK7ZUXDBkwWQvr8qPiCiRqVs5pfFmaRStVPGS/image.png","https://steemitimages.com/DQmUwiZ5JpnSmT4vFqecdBdMu7GFmY3s2iyaUvTpp3MVy66/image.png","https://steemitimages.com/DQmRVoQ1NBxhEWxdRigpQB2dmixrnQ1gYWGJgHs7N171BUE/UPGMA%20tree.png"],"links":["https://steemit.com/science/@callimico/why-you-re-more-closely-related-to-a-salmon-than-a-salmon-is-to-a-shark-understanding-evolutionary-phylogenies","https://steemit.com/science/@callimico/why-we-trust-in-dna-to-tell-us-how-organisms-are-related","http://iubio.bio.indiana.edu/treeapp/treeprint-form.html"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #20762677/Trx b60b299ab0f4a5948e90e3c56065c7634e261539 |
View Raw JSON Data
{
"trx_id": "b60b299ab0f4a5948e90e3c56065c7634e261539",
"block": 20762677,
"trx_in_block": 11,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-17T19:29:03",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "science",
"author": "callimico",
"permlink": "how-to-draw-an-evolutionary-tree-upgma",
"title": "How to draw an evolutionary tree: UPGMA",
"body": "@@ -3889,88 +3889,8 @@\n tree\n-, drawn with tools from http://iubio.bio.indiana.edu/treeapp/treeprint-form.html\n :%0A%0A!\n@@ -3993,12 +3993,180 @@\n %2520tree.png)\n+%0A%0A### Book reference%0AMarketa Zvelebil and Jeremy O. Baum: %22Understanding Bioinformatics%22%0A%0A### Tree-drawing tool%0Ahttp://iubio.bio.indiana.edu/treeapp/treeprint-form.html\n",
"json_metadata": "{\"tags\":[\"science\",\"evolution\",\"math\",\"bioinformatics\",\"biology\"],\"image\":[\"https://steemitimages.com/DQmcSGFw1ahbi86m4gYChSz3odrx2CX9pFRGaai1keX3xyM/image.png\",\"https://steemitimages.com/DQmUbZSjPrNP1xCvwoSRPxoprXhNDHthZYyba3gFSHUprzx/image.png\",\"https://steemitimages.com/DQmbJaje95rdNWtqB2z9nEUrFW1ZNZ9QzrbxDvyeL2RsedD/image.png\",\"https://steemitimages.com/DQmanAucqaNK7ZUXDBkwWQvr8qPiCiRqVs5pfFmaRStVPGS/image.png\",\"https://steemitimages.com/DQmUwiZ5JpnSmT4vFqecdBdMu7GFmY3s2iyaUvTpp3MVy66/image.png\",\"https://steemitimages.com/DQmRVoQ1NBxhEWxdRigpQB2dmixrnQ1gYWGJgHs7N171BUE/UPGMA%20tree.png\"],\"links\":[\"https://steemit.com/science/@callimico/why-you-re-more-closely-related-to-a-salmon-than-a-salmon-is-to-a-shark-understanding-evolutionary-phylogenies\",\"https://steemit.com/science/@callimico/why-we-trust-in-dna-to-tell-us-how-organisms-are-related\",\"http://iubio.bio.indiana.edu/treeapp/treeprint-form.html\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}callimicopublished a new post: how-to-draw-an-evolutionary-tree-ii-maximum-parsimony2018/03/17 19:26:30
callimicopublished a new post: how-to-draw-an-evolutionary-tree-ii-maximum-parsimony
2018/03/17 19:26:30
| parent author | |
| parent permlink | science |
| author | callimico |
| permlink | how-to-draw-an-evolutionary-tree-ii-maximum-parsimony |
| title | How to draw an evolutionary tree II: maximum parsimony |
| body | @@ -4323,8 +4323,176 @@ arisons. +%0A%0A### Book reference%0AMarketa Zvelebil and Jeremy O. Baum: %22Understanding Bioinformatics%22%0A%0A### Tree-drawing tool%0Ahttp://iubio.bio.indiana.edu/treeapp/treeprint-form.html |
| json metadata | {"tags":["science","evolution","math","biology","bioinformatics"],"image":["https://steemitimages.com/DQmRVoQ1NBxhEWxdRigpQB2dmixrnQ1gYWGJgHs7N171BUE/UPGMA%20tree.png","https://steemitimages.com/DQmeUoWk2T2nFyvoKQkYbyceoCKqrirNcYNuhdWF1etawSN/maximum_parsimony.png","https://steemitimages.com/DQmNaB8S37aY8z1do34KD7K8zkbAcvQDyKwUdw84MLbuajL/maximum_parsimony2.png","https://steemitimages.com/DQmPSCM5TcqJNcftgfMPhsWVMNcm4LswpacZfCXkJUfX6G9/maximum_parsimony3.png","https://steemitimages.com/DQmcxcFw6a1BjJvBTzRF9uUjh8WP7ew6DpihdxkQiCELkdt/maximum_parsimony4.png","https://steemitimages.com/DQmZeK7HtZzrqb2585XE8JKaR86CfufVXtyrWceUHFi9ooW/maximum_parsimony5.png"],"links":["https://steemit.com/science/@callimico/how-to-draw-an-evolutionary-tree-upgma","http://iubio.bio.indiana.edu/treeapp/treeprint-form.html"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #20762626/Trx 5b9972d507c3821222eaba4b3ed874deba8adf1a |
View Raw JSON Data
{
"trx_id": "5b9972d507c3821222eaba4b3ed874deba8adf1a",
"block": 20762626,
"trx_in_block": 33,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-17T19:26:30",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "science",
"author": "callimico",
"permlink": "how-to-draw-an-evolutionary-tree-ii-maximum-parsimony",
"title": "How to draw an evolutionary tree II: maximum parsimony",
"body": "@@ -4323,8 +4323,176 @@\n arisons.\n+%0A%0A### Book reference%0AMarketa Zvelebil and Jeremy O. Baum: %22Understanding Bioinformatics%22%0A%0A### Tree-drawing tool%0Ahttp://iubio.bio.indiana.edu/treeapp/treeprint-form.html\n",
"json_metadata": "{\"tags\":[\"science\",\"evolution\",\"math\",\"biology\",\"bioinformatics\"],\"image\":[\"https://steemitimages.com/DQmRVoQ1NBxhEWxdRigpQB2dmixrnQ1gYWGJgHs7N171BUE/UPGMA%20tree.png\",\"https://steemitimages.com/DQmeUoWk2T2nFyvoKQkYbyceoCKqrirNcYNuhdWF1etawSN/maximum_parsimony.png\",\"https://steemitimages.com/DQmNaB8S37aY8z1do34KD7K8zkbAcvQDyKwUdw84MLbuajL/maximum_parsimony2.png\",\"https://steemitimages.com/DQmPSCM5TcqJNcftgfMPhsWVMNcm4LswpacZfCXkJUfX6G9/maximum_parsimony3.png\",\"https://steemitimages.com/DQmcxcFw6a1BjJvBTzRF9uUjh8WP7ew6DpihdxkQiCELkdt/maximum_parsimony4.png\",\"https://steemitimages.com/DQmZeK7HtZzrqb2585XE8JKaR86CfufVXtyrWceUHFi9ooW/maximum_parsimony5.png\"],\"links\":[\"https://steemit.com/science/@callimico/how-to-draw-an-evolutionary-tree-upgma\",\"http://iubio.bio.indiana.edu/treeapp/treeprint-form.html\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}callimicopublished a new post: how-to-compare-two-dna-sequences-by-hand-the-needleman-wunsch-algorithm2018/03/17 19:22:21
callimicopublished a new post: how-to-compare-two-dna-sequences-by-hand-the-needleman-wunsch-algorithm
2018/03/17 19:22:21
| parent author | |
| parent permlink | science |
| author | callimico |
| permlink | how-to-compare-two-dna-sequences-by-hand-the-needleman-wunsch-algorithm |
| title | How to compare two DNA sequences by hand - the Needleman-Wunsch algorithm |
| body | @@ -140,16 +140,17 @@ ilable ( +%5B here's o @@ -151,18 +151,18 @@ re's one -: +%5D( https:// @@ -298,16 +298,17 @@ omeLink) +) . Still, |
| json metadata | {"tags":["science","math","genetics","bioinformatics","evolution"],"image":["https://steemitimages.com/DQmRZ7miqppgzdMkxBjbmL9rPcMG5WBDpkiTMTbfEKNBaam/matrix1.png","https://steemitimages.com/DQmdpZY7cTXQipuLXYdz8ss1a6sNK2LfNixd4GQHcbufWSn/matrix2.png","https://steemitimages.com/DQmXtLrivb5gAs3cgZ9LsbpnrTHNyn3hS5x943QLUdWqT19/image.png","https://steemitimages.com/DQmUp7jqJyyqSPo8jPS7Ja9J3JnYgTC2SKsHpvJigFz6oGx/image.png","https://steemitimages.com/DQmQv3y1WR7TZBZSaN8aG77U2LS9hE1XpTFydT89AKyrdTQ/image.png","https://steemitimages.com/DQmNVvbmjGDBrqLtH7BrqvrCPiZ6HiqGxbHbskWf7DUUR9u/image.png","https://steemitimages.com/DQmbpRMZJ2oMu3yztjALT3byaCE9K7Yn1N7cKca7XCqBpxD/image.png","https://steemitimages.com/DQmcDM7AxrMk3KJ27KhgNGqYfBNiqNv48o4o6Qj1mtpzgwt/image.png","https://steemitimages.com/DQmcoEp6cYcrAyKwwTqGJVxkgKB7mCHfGFxyZJ7maKXHvMC/image.png","https://steemitimages.com/DQmXguzUqNz2GECkneJX5uNkG8qXpVPqkJBE5bbMANZETVS/image.png","https://steemitimages.com/DQmZZyifHSQdtueRWy9LqMGQVSjY4P8gj2BjbkHU3fZ7G9c/image.png","https://steemitimages.com/DQmUqMa1VNJyr9k1wWDGMvrZitvzU4BvyG3dJGXfrvYnjXp/image.png"],"links":["https://blast.ncbi.nlm.nih.gov/Blast.cgi?PAGE_TYPE=BlastSearch&PROG_DEF=blastn&BLAST_PROG_DEF=blastn&BLAST_SPEC=GlobalAln&LINK_LOC=BlastHomeLink"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #20762543/Trx d6004afa01e0a560c273a4698faa3714565b1b6a |
View Raw JSON Data
{
"trx_id": "d6004afa01e0a560c273a4698faa3714565b1b6a",
"block": 20762543,
"trx_in_block": 60,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-17T19:22:21",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "science",
"author": "callimico",
"permlink": "how-to-compare-two-dna-sequences-by-hand-the-needleman-wunsch-algorithm",
"title": "How to compare two DNA sequences by hand - the Needleman-Wunsch algorithm",
"body": "@@ -140,16 +140,17 @@\n ilable (\n+%5B\n here's o\n@@ -151,18 +151,18 @@\n re's one\n-: \n+%5D(\n https://\n@@ -298,16 +298,17 @@\n omeLink)\n+)\n . Still,\n",
"json_metadata": "{\"tags\":[\"science\",\"math\",\"genetics\",\"bioinformatics\",\"evolution\"],\"image\":[\"https://steemitimages.com/DQmRZ7miqppgzdMkxBjbmL9rPcMG5WBDpkiTMTbfEKNBaam/matrix1.png\",\"https://steemitimages.com/DQmdpZY7cTXQipuLXYdz8ss1a6sNK2LfNixd4GQHcbufWSn/matrix2.png\",\"https://steemitimages.com/DQmXtLrivb5gAs3cgZ9LsbpnrTHNyn3hS5x943QLUdWqT19/image.png\",\"https://steemitimages.com/DQmUp7jqJyyqSPo8jPS7Ja9J3JnYgTC2SKsHpvJigFz6oGx/image.png\",\"https://steemitimages.com/DQmQv3y1WR7TZBZSaN8aG77U2LS9hE1XpTFydT89AKyrdTQ/image.png\",\"https://steemitimages.com/DQmNVvbmjGDBrqLtH7BrqvrCPiZ6HiqGxbHbskWf7DUUR9u/image.png\",\"https://steemitimages.com/DQmbpRMZJ2oMu3yztjALT3byaCE9K7Yn1N7cKca7XCqBpxD/image.png\",\"https://steemitimages.com/DQmcDM7AxrMk3KJ27KhgNGqYfBNiqNv48o4o6Qj1mtpzgwt/image.png\",\"https://steemitimages.com/DQmcoEp6cYcrAyKwwTqGJVxkgKB7mCHfGFxyZJ7maKXHvMC/image.png\",\"https://steemitimages.com/DQmXguzUqNz2GECkneJX5uNkG8qXpVPqkJBE5bbMANZETVS/image.png\",\"https://steemitimages.com/DQmZZyifHSQdtueRWy9LqMGQVSjY4P8gj2BjbkHU3fZ7G9c/image.png\",\"https://steemitimages.com/DQmUqMa1VNJyr9k1wWDGMvrZitvzU4BvyG3dJGXfrvYnjXp/image.png\"],\"links\":[\"https://blast.ncbi.nlm.nih.gov/Blast.cgi?PAGE_TYPE=BlastSearch&PROG_DEF=blastn&BLAST_PROG_DEF=blastn&BLAST_SPEC=GlobalAln&LINK_LOC=BlastHomeLink\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}callimicopublished a new post: how-to-compare-two-dna-sequences-by-hand-the-needleman-wunsch-algorithm2018/03/17 19:19:00
callimicopublished a new post: how-to-compare-two-dna-sequences-by-hand-the-needleman-wunsch-algorithm
2018/03/17 19:19:00
| parent author | |
| parent permlink | science |
| author | callimico |
| permlink | how-to-compare-two-dna-sequences-by-hand-the-needleman-wunsch-algorithm |
| title | How to compare two DNA sequences by hand - the Needleman-Wunsch algorithm |
| body | @@ -7120,16 +7120,139 @@ YnjXp/image.png) +%0A%0A### Book reference%0ACaroline St. Clair and Jonathan E. Visick (2015): %22Exploring Bioinformatics: A Project-based Approach%22 |
| json metadata | {"tags":["science","math","genetics","bioinformatics","evolution"],"image":["https://steemitimages.com/DQmRZ7miqppgzdMkxBjbmL9rPcMG5WBDpkiTMTbfEKNBaam/matrix1.png","https://steemitimages.com/DQmdpZY7cTXQipuLXYdz8ss1a6sNK2LfNixd4GQHcbufWSn/matrix2.png","https://steemitimages.com/DQmXtLrivb5gAs3cgZ9LsbpnrTHNyn3hS5x943QLUdWqT19/image.png","https://steemitimages.com/DQmUp7jqJyyqSPo8jPS7Ja9J3JnYgTC2SKsHpvJigFz6oGx/image.png","https://steemitimages.com/DQmQv3y1WR7TZBZSaN8aG77U2LS9hE1XpTFydT89AKyrdTQ/image.png","https://steemitimages.com/DQmNVvbmjGDBrqLtH7BrqvrCPiZ6HiqGxbHbskWf7DUUR9u/image.png","https://steemitimages.com/DQmbpRMZJ2oMu3yztjALT3byaCE9K7Yn1N7cKca7XCqBpxD/image.png","https://steemitimages.com/DQmcDM7AxrMk3KJ27KhgNGqYfBNiqNv48o4o6Qj1mtpzgwt/image.png","https://steemitimages.com/DQmcoEp6cYcrAyKwwTqGJVxkgKB7mCHfGFxyZJ7maKXHvMC/image.png","https://steemitimages.com/DQmXguzUqNz2GECkneJX5uNkG8qXpVPqkJBE5bbMANZETVS/image.png","https://steemitimages.com/DQmZZyifHSQdtueRWy9LqMGQVSjY4P8gj2BjbkHU3fZ7G9c/image.png","https://steemitimages.com/DQmUqMa1VNJyr9k1wWDGMvrZitvzU4BvyG3dJGXfrvYnjXp/image.png"],"links":["https://blast.ncbi.nlm.nih.gov/Blast.cgi?PAGE_TYPE=BlastSearch&PROG_DEF=blastn&BLAST_PROG_DEF=blastn&BLAST_SPEC=GlobalAln&LINK_LOC=BlastHomeLink"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #20762476/Trx e1757e86817384589834e8b8eb3256373b346a6b |
View Raw JSON Data
{
"trx_id": "e1757e86817384589834e8b8eb3256373b346a6b",
"block": 20762476,
"trx_in_block": 42,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-17T19:19:00",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "science",
"author": "callimico",
"permlink": "how-to-compare-two-dna-sequences-by-hand-the-needleman-wunsch-algorithm",
"title": "How to compare two DNA sequences by hand - the Needleman-Wunsch algorithm",
"body": "@@ -7120,16 +7120,139 @@\n YnjXp/image.png)\n+%0A%0A### Book reference%0ACaroline St. Clair and Jonathan E. Visick (2015): %22Exploring Bioinformatics: A Project-based Approach%22\n",
"json_metadata": "{\"tags\":[\"science\",\"math\",\"genetics\",\"bioinformatics\",\"evolution\"],\"image\":[\"https://steemitimages.com/DQmRZ7miqppgzdMkxBjbmL9rPcMG5WBDpkiTMTbfEKNBaam/matrix1.png\",\"https://steemitimages.com/DQmdpZY7cTXQipuLXYdz8ss1a6sNK2LfNixd4GQHcbufWSn/matrix2.png\",\"https://steemitimages.com/DQmXtLrivb5gAs3cgZ9LsbpnrTHNyn3hS5x943QLUdWqT19/image.png\",\"https://steemitimages.com/DQmUp7jqJyyqSPo8jPS7Ja9J3JnYgTC2SKsHpvJigFz6oGx/image.png\",\"https://steemitimages.com/DQmQv3y1WR7TZBZSaN8aG77U2LS9hE1XpTFydT89AKyrdTQ/image.png\",\"https://steemitimages.com/DQmNVvbmjGDBrqLtH7BrqvrCPiZ6HiqGxbHbskWf7DUUR9u/image.png\",\"https://steemitimages.com/DQmbpRMZJ2oMu3yztjALT3byaCE9K7Yn1N7cKca7XCqBpxD/image.png\",\"https://steemitimages.com/DQmcDM7AxrMk3KJ27KhgNGqYfBNiqNv48o4o6Qj1mtpzgwt/image.png\",\"https://steemitimages.com/DQmcoEp6cYcrAyKwwTqGJVxkgKB7mCHfGFxyZJ7maKXHvMC/image.png\",\"https://steemitimages.com/DQmXguzUqNz2GECkneJX5uNkG8qXpVPqkJBE5bbMANZETVS/image.png\",\"https://steemitimages.com/DQmZZyifHSQdtueRWy9LqMGQVSjY4P8gj2BjbkHU3fZ7G9c/image.png\",\"https://steemitimages.com/DQmUqMa1VNJyr9k1wWDGMvrZitvzU4BvyG3dJGXfrvYnjXp/image.png\"],\"links\":[\"https://blast.ncbi.nlm.nih.gov/Blast.cgi?PAGE_TYPE=BlastSearch&PROG_DEF=blastn&BLAST_PROG_DEF=blastn&BLAST_SPEC=GlobalAln&LINK_LOC=BlastHomeLink\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}callimicoupvoted (100.00%) @aminda / logical-paradoxes-definitions-and-explanations2018/03/17 18:54:30
callimicoupvoted (100.00%) @aminda / logical-paradoxes-definitions-and-explanations
2018/03/17 18:54:30
| voter | callimico |
| author | aminda |
| permlink | logical-paradoxes-definitions-and-explanations |
| weight | 10000 (100.00%) |
| Transaction Info | Block #20761986/Trx 8fa27bdf2dacd6fa7d1bc3020a976e19d1a55be5 |
View Raw JSON Data
{
"trx_id": "8fa27bdf2dacd6fa7d1bc3020a976e19d1a55be5",
"block": 20761986,
"trx_in_block": 59,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-17T18:54:30",
"op": [
"vote",
{
"voter": "callimico",
"author": "aminda",
"permlink": "logical-paradoxes-definitions-and-explanations",
"weight": 10000
}
]
}2018/03/17 18:48:48
2018/03/17 18:48:48
| parent author | marvelking |
| parent permlink | 5things-love-cant-be-blind-to-7fd45434bf8c8 |
| author | callimico |
| permlink | re-marvelking-5things-love-cant-be-blind-to-7fd45434bf8c8-20180317t184849210z |
| title | |
| body | Your advice about character is sound. As for the purpose, roles and obligations, your mindset is too rigid. You don't need God for your marriage to be meaningful. And if a man is good at cooking, or a woman is good with financial matters, why not let them do what they're good at? You put it very nicely yourself: "That it worked for others doesn't mean it'll work for you" Why is that, you think? Because people are different. I can assure you that a lot of people would be more happy in marriage if they ignored the gender roles you postulate. |
| json metadata | {"tags":["love"],"app":"steemit/0.1"} |
| Transaction Info | Block #20761872/Trx c3078fd0d02cc96e26f54a7439c5b990e8f1670c |
View Raw JSON Data
{
"trx_id": "c3078fd0d02cc96e26f54a7439c5b990e8f1670c",
"block": 20761872,
"trx_in_block": 12,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-17T18:48:48",
"op": [
"comment",
{
"parent_author": "marvelking",
"parent_permlink": "5things-love-cant-be-blind-to-7fd45434bf8c8",
"author": "callimico",
"permlink": "re-marvelking-5things-love-cant-be-blind-to-7fd45434bf8c8-20180317t184849210z",
"title": "",
"body": "Your advice about character is sound. As for the purpose, roles and obligations, your mindset is too rigid. You don't need God for your marriage to be meaningful. And if a man is good at cooking, or a woman is good with financial matters, why not let them do what they're good at? \n\nYou put it very nicely yourself:\n\n\"That it worked for others doesn't mean it'll work for you\"\n\nWhy is that, you think? Because people are different. I can assure you that a lot of people would be more happy in marriage if they ignored the gender roles you postulate.",
"json_metadata": "{\"tags\":[\"love\"],\"app\":\"steemit/0.1\"}"
}
]
}callimicoupvoted (100.00%) @marvelking / the-kidney-and-it-s-anomalies-13e73484367a62018/03/17 18:02:51
callimicoupvoted (100.00%) @marvelking / the-kidney-and-it-s-anomalies-13e73484367a6
2018/03/17 18:02:51
| voter | callimico |
| author | marvelking |
| permlink | the-kidney-and-it-s-anomalies-13e73484367a6 |
| weight | 10000 (100.00%) |
| Transaction Info | Block #20760953/Trx 8753c7b69d43b12197077c51318bdc57ea51a046 |
View Raw JSON Data
{
"trx_id": "8753c7b69d43b12197077c51318bdc57ea51a046",
"block": 20760953,
"trx_in_block": 56,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-17T18:02:51",
"op": [
"vote",
{
"voter": "callimico",
"author": "marvelking",
"permlink": "the-kidney-and-it-s-anomalies-13e73484367a6",
"weight": 10000
}
]
}callimicopublished a new post: how-to-draw-an-evolutionary-tree-ii-maximum-parsimony2018/03/17 17:50:27
callimicopublished a new post: how-to-draw-an-evolutionary-tree-ii-maximum-parsimony
2018/03/17 17:50:27
| parent author | |
| parent permlink | science |
| author | callimico |
| permlink | how-to-draw-an-evolutionary-tree-ii-maximum-parsimony |
| title | How to draw an evolutionary tree II: maximum parsimony |
| body | @@ -1255,18 +1255,18 @@ esis abo -ve +ut the rel |
| json metadata | {"tags":["science","evolution","math","biology","bioinformatics"],"image":["https://steemitimages.com/DQmRVoQ1NBxhEWxdRigpQB2dmixrnQ1gYWGJgHs7N171BUE/UPGMA%20tree.png","https://steemitimages.com/DQmeUoWk2T2nFyvoKQkYbyceoCKqrirNcYNuhdWF1etawSN/maximum_parsimony.png","https://steemitimages.com/DQmNaB8S37aY8z1do34KD7K8zkbAcvQDyKwUdw84MLbuajL/maximum_parsimony2.png","https://steemitimages.com/DQmPSCM5TcqJNcftgfMPhsWVMNcm4LswpacZfCXkJUfX6G9/maximum_parsimony3.png","https://steemitimages.com/DQmcxcFw6a1BjJvBTzRF9uUjh8WP7ew6DpihdxkQiCELkdt/maximum_parsimony4.png","https://steemitimages.com/DQmZeK7HtZzrqb2585XE8JKaR86CfufVXtyrWceUHFi9ooW/maximum_parsimony5.png"],"links":["https://steemit.com/science/@callimico/how-to-draw-an-evolutionary-tree-upgma"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #20760705/Trx 5430d91c6352aed021da9e623bc5c638f1265065 |
View Raw JSON Data
{
"trx_id": "5430d91c6352aed021da9e623bc5c638f1265065",
"block": 20760705,
"trx_in_block": 12,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-17T17:50:27",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "science",
"author": "callimico",
"permlink": "how-to-draw-an-evolutionary-tree-ii-maximum-parsimony",
"title": "How to draw an evolutionary tree II: maximum parsimony",
"body": "@@ -1255,18 +1255,18 @@\n esis abo\n-ve\n+ut\n the rel\n",
"json_metadata": "{\"tags\":[\"science\",\"evolution\",\"math\",\"biology\",\"bioinformatics\"],\"image\":[\"https://steemitimages.com/DQmRVoQ1NBxhEWxdRigpQB2dmixrnQ1gYWGJgHs7N171BUE/UPGMA%20tree.png\",\"https://steemitimages.com/DQmeUoWk2T2nFyvoKQkYbyceoCKqrirNcYNuhdWF1etawSN/maximum_parsimony.png\",\"https://steemitimages.com/DQmNaB8S37aY8z1do34KD7K8zkbAcvQDyKwUdw84MLbuajL/maximum_parsimony2.png\",\"https://steemitimages.com/DQmPSCM5TcqJNcftgfMPhsWVMNcm4LswpacZfCXkJUfX6G9/maximum_parsimony3.png\",\"https://steemitimages.com/DQmcxcFw6a1BjJvBTzRF9uUjh8WP7ew6DpihdxkQiCELkdt/maximum_parsimony4.png\",\"https://steemitimages.com/DQmZeK7HtZzrqb2585XE8JKaR86CfufVXtyrWceUHFi9ooW/maximum_parsimony5.png\"],\"links\":[\"https://steemit.com/science/@callimico/how-to-draw-an-evolutionary-tree-upgma\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}acknowledgementupvoted (30.00%) @callimico / how-to-draw-an-evolutionary-tree-ii-maximum-parsimony2018/03/17 11:03:00
acknowledgementupvoted (30.00%) @callimico / how-to-draw-an-evolutionary-tree-ii-maximum-parsimony
2018/03/17 11:03:00
| voter | acknowledgement |
| author | callimico |
| permlink | how-to-draw-an-evolutionary-tree-ii-maximum-parsimony |
| weight | 3000 (30.00%) |
| Transaction Info | Block #20752560/Trx af129e40bf9c2e7885ded64c2342ad53dbdddbc5 |
View Raw JSON Data
{
"trx_id": "af129e40bf9c2e7885ded64c2342ad53dbdddbc5",
"block": 20752560,
"trx_in_block": 45,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-17T11:03:00",
"op": [
"vote",
{
"voter": "acknowledgement",
"author": "callimico",
"permlink": "how-to-draw-an-evolutionary-tree-ii-maximum-parsimony",
"weight": 3000
}
]
}callimicopublished a new post: how-to-draw-an-evolutionary-tree-ii-maximum-parsimony2018/03/17 10:32:54
callimicopublished a new post: how-to-draw-an-evolutionary-tree-ii-maximum-parsimony
2018/03/17 10:32:54
| parent author | |
| parent permlink | science |
| author | callimico |
| permlink | how-to-draw-an-evolutionary-tree-ii-maximum-parsimony |
| title | How to draw an evolutionary tree II: maximum parsimony |
| body | In [my previous post](https://steemit.com/science/@callimico/how-to-draw-an-evolutionary-tree-upgma), I described how to use the algorithm UPGMA to construct an evolutionary tree from a distance matrix. It was fast and straightforward, but we had to make the assumption that evolution took place at the same rate throughout the tree. The next method, maximum parsimony, does not assume this and conceptually it is as simple as UPGMA. The drawback is that maximum parsimony is a lot slower. UPGMA singles out the optimal tree, under the assumptions of the algorithm, and does not attempt to score any other tree. Using maximum parsimony, you need to check all possible trees one at a time (there are probably algorithms that can speed up this process, but I don't know them). Maximum parsimony assumes that the correct tree is the one that requires the fewest evolutionary changes. The rationale is this: Every evolutionary change is an event with a probability below 1. If you consider two such events, the probability that both of them happen is lower than the probability that just one of them does. Just like rolling two sixes with a pair of dice is less probable than rolling six with one of them. To apply maximum parsimony, we first need a hypothesis above the relationship between the taxa we want to investigate. We will look at five taxa, labeled A-E, and postulate the following phylogeny:  Now, our task is to check how probable this tree is. Or rather, how parsimonious. Unlike UPGMA, there is no need for a distance matrix. We just need to know a set of traits and how they appear in our taxa. Using molecular data, these traits would be bases in a DNA or RNA sequence, or amino acids in a protein. First, write up the set of traits in each taxon. Disregard any trait that does not differ between taxa, or differs in a single taxon only. Next, we could try to assume an ancestral state, i.e. the set of traits at the root of the tree. But this would be guessing, and guesses are usually time-consuming. Instead, we can apply a method known as Fitch's algorithm. Instead of assuming anything about the root of the tree, we start from the leaves (the taxa) and work our way down, one trait at a time. Because this is just an example, we will only look at one trait here. Let's replace the names of the taxa with the trait, a DNA base from a particular locus:  It's fairly obvious that our current hypothesis isn't optimal; the C's are not each other's closest relative. But for the sake of the example, let's try and figure this out the hard way. Look at the two upper leaves. Both have A's so we can assume that their most recent common ancestor also had this base:  The two bottom leaves have different bases. Therefore, the ancestral character could be either a C or a T. Similarly, the ancestral node connecting the three upper leaves could have either an A or a C:  At the root of the tree, the character could be either an A, a C or a T. However, C was an option in both of the nodes following the root node, so we go with a C:  The number of ambiguous nodes, two, is the number of changes we have to assume to arrive at our current hypothetical tree. Curiously, this is actually the same number we would arrive at, had our hypothesis grouped the A's as sister taxa and the C's as sister taxa:  Thus, in this very simplistic example, we don't have enough information to single out the best solution by maximum parsimony. In practice, this would not be a problem, because you would never apply maximum parsimony unless you had more than a single trait to use for comparisons. |
| json metadata | {"tags":["science","evolution","math","biology","bioinformatics"],"image":["https://steemitimages.com/DQmRVoQ1NBxhEWxdRigpQB2dmixrnQ1gYWGJgHs7N171BUE/UPGMA%20tree.png","https://steemitimages.com/DQmeUoWk2T2nFyvoKQkYbyceoCKqrirNcYNuhdWF1etawSN/maximum_parsimony.png","https://steemitimages.com/DQmNaB8S37aY8z1do34KD7K8zkbAcvQDyKwUdw84MLbuajL/maximum_parsimony2.png","https://steemitimages.com/DQmPSCM5TcqJNcftgfMPhsWVMNcm4LswpacZfCXkJUfX6G9/maximum_parsimony3.png","https://steemitimages.com/DQmcxcFw6a1BjJvBTzRF9uUjh8WP7ew6DpihdxkQiCELkdt/maximum_parsimony4.png","https://steemitimages.com/DQmZeK7HtZzrqb2585XE8JKaR86CfufVXtyrWceUHFi9ooW/maximum_parsimony5.png"],"links":["https://steemit.com/science/@callimico/how-to-draw-an-evolutionary-tree-upgma"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #20751959/Trx 1596bd02435bd7d20f433552bdca7c50a381cd79 |
View Raw JSON Data
{
"trx_id": "1596bd02435bd7d20f433552bdca7c50a381cd79",
"block": 20751959,
"trx_in_block": 52,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-17T10:32:54",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "science",
"author": "callimico",
"permlink": "how-to-draw-an-evolutionary-tree-ii-maximum-parsimony",
"title": "How to draw an evolutionary tree II: maximum parsimony",
"body": "In [my previous post](https://steemit.com/science/@callimico/how-to-draw-an-evolutionary-tree-upgma), I described how to use the algorithm UPGMA to construct an evolutionary tree from a distance matrix. It was fast and straightforward, but we had to make the assumption that evolution took place at the same rate throughout the tree. The next method, maximum parsimony, does not assume this and conceptually it is as simple as UPGMA. The drawback is that maximum parsimony is a lot slower. UPGMA singles out the optimal tree, under the assumptions of the algorithm, and does not attempt to score any other tree. Using maximum parsimony, you need to check all possible trees one at a time (there are probably algorithms that can speed up this process, but I don't know them).\n\nMaximum parsimony assumes that the correct tree is the one that requires the fewest evolutionary changes. The rationale is this: Every evolutionary change is an event with a probability below 1. If you consider two such events, the probability that both of them happen is lower than the probability that just one of them does. Just like rolling two sixes with a pair of dice is less probable than rolling six with one of them.\n\nTo apply maximum parsimony, we first need a hypothesis above the relationship between the taxa we want to investigate. We will look at five taxa, labeled A-E, and postulate the following phylogeny:\n\n\n\nNow, our task is to check how probable this tree is. Or rather, how parsimonious. Unlike UPGMA, there is no need for a distance matrix. We just need to know a set of traits and how they appear in our taxa. Using molecular data, these traits would be bases in a DNA or RNA sequence, or amino acids in a protein. First, write up the set of traits in each taxon. Disregard any trait that does not differ between taxa, or differs in a single taxon only. Next, we could try to assume an ancestral state, i.e. the set of traits at the root of the tree. But this would be guessing, and guesses are usually time-consuming. Instead, we can apply a method known as Fitch's algorithm.\n\nInstead of assuming anything about the root of the tree, we start from the leaves (the taxa) and work our way down, one trait at a time. Because this is just an example, we will only look at one trait here. Let's replace the names of the taxa with the trait, a DNA base from a particular locus:\n\n \n\nIt's fairly obvious that our current hypothesis isn't optimal; the C's are not each other's closest relative. But for the sake of the example, let's try and figure this out the hard way.\n\nLook at the two upper leaves. Both have A's so we can assume that their most recent common ancestor also had this base:\n\n\n\nThe two bottom leaves have different bases. Therefore, the ancestral character could be either a C or a T. Similarly, the ancestral node connecting the three upper leaves could have either an A or a C:\n\n\n\nAt the root of the tree, the character could be either an A, a C or a T. However, C was an option in both of the nodes following the root node, so we go with a C:\n\n\n\nThe number of ambiguous nodes, two, is the number of changes we have to assume to arrive at our current hypothetical tree. Curiously, this is actually the same number we would arrive at, had our hypothesis grouped the A's as sister taxa and the C's as sister taxa:\n\n\n\nThus, in this very simplistic example, we don't have enough information to single out the best solution by maximum parsimony. In practice, this would not be a problem, because you would never apply maximum parsimony unless you had more than a single trait to use for comparisons.",
"json_metadata": "{\"tags\":[\"science\",\"evolution\",\"math\",\"biology\",\"bioinformatics\"],\"image\":[\"https://steemitimages.com/DQmRVoQ1NBxhEWxdRigpQB2dmixrnQ1gYWGJgHs7N171BUE/UPGMA%20tree.png\",\"https://steemitimages.com/DQmeUoWk2T2nFyvoKQkYbyceoCKqrirNcYNuhdWF1etawSN/maximum_parsimony.png\",\"https://steemitimages.com/DQmNaB8S37aY8z1do34KD7K8zkbAcvQDyKwUdw84MLbuajL/maximum_parsimony2.png\",\"https://steemitimages.com/DQmPSCM5TcqJNcftgfMPhsWVMNcm4LswpacZfCXkJUfX6G9/maximum_parsimony3.png\",\"https://steemitimages.com/DQmcxcFw6a1BjJvBTzRF9uUjh8WP7ew6DpihdxkQiCELkdt/maximum_parsimony4.png\",\"https://steemitimages.com/DQmZeK7HtZzrqb2585XE8JKaR86CfufVXtyrWceUHFi9ooW/maximum_parsimony5.png\"],\"links\":[\"https://steemit.com/science/@callimico/how-to-draw-an-evolutionary-tree-upgma\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}callimicopublished a new post: how-to-draw-an-evolutionary-tree-ii-maximum-parsimony2018/03/17 10:31:27
callimicopublished a new post: how-to-draw-an-evolutionary-tree-ii-maximum-parsimony
2018/03/17 10:31:27
| parent author | |
| parent permlink | science |
| author | callimico |
| permlink | how-to-draw-an-evolutionary-tree-ii-maximum-parsimony |
| title | How to draw an evolutionary tree II: Maximum parsimony |
| body | In [my previous post](https://steemit.com/science/@callimico/how-to-draw-an-evolutionary-tree-upgma), I described how to use the algorithm UPGMA to construct an evolutionary tree from a distance matrix. It was fast and straightforward, but we had to make the assumption that evolution took place at the same rate throughout the tree. The next method, maximum parsimony, does not assume this and conceptually it is as simple as UPGMA. The drawback is that maximum parsimony is a lot slower. UPGMA singles out the optimal tree, under the assumptions of the algorithm, and does not attempt to score any other tree. Using maximum parsimony, you need to check all possible trees one at a time (there are probably algorithms that can speed up this process, but I don't know them). Maximum parsimony assumes that the correct tree is the one that requires the fewest evolutionary changes. The rationale is this: Every evolutionary change is an event with a probability below 1. If you consider two such events, the probability that both of them happen is lower than the probability that just one of them does. Just like rolling two sixes with a pair of dice is less probable than rolling six with one of them. To apply maximum parsimony, we first need a hypothesis above the relationship between the taxa we want to investigate. We will look at five taxa, labeled A-E, and postulate the following phylogeny:  Now, our task is to check how probable this tree is. Or rather, how parsimonious. Unlike UPGMA, there is no need for a distance matrix. We just need to know a set of traits and how they appear in our taxa. Using molecular data, these traits would be bases in a DNA or RNA sequence, or amino acids in a protein. First, write up the set of traits in each taxon. Disregard any trait that does not differ between taxa, or differs in a single taxon only. Next, we could try to assume an ancestral state, i.e. the set of traits at the root of the tree. But this would be guessing, and guesses are usually time-consuming. Instead, we can apply a method known as Fitch's algorithm. Instead of assuming anything about the root of the tree, we start from the leaves (the taxa) and work our way down, one trait at a time. Because this is just an example, we will only look at one trait here. Let's replace the names of the taxa with the trait, a DNA base from a particular locus:  It's fairly obvious that our current hypothesis isn't optimal; the C's are not each other's closest relative. But for the sake of the example, let's try and figure this out the hard way. Look at the two upper leaves. Both have A's so we can assume that their most recent common ancestor also had this base:  The two bottom leaves have different bases. Therefore, the ancestral character could be either a C or a T. Similarly, the ancestral node connecting the three upper leaves could have either an A or a C:  At the root of the tree, the character could be either an A, a C or a T. However, C was an option in both of the nodes following the root node, so we go with a C:  The number of ambiguous nodes, two, is the number of changes we have to assume to arrive at our current hypothetical tree. Curiously, this is actually the same number we would arrive at, had our hypothesis grouped the A's as sister taxa and the C's as sister taxa:  Thus, in this very simplistic example, we don't have enough information to single out the best solution by maximum parsimony. In practice, this would not be a problem, because you would never apply maximum parsimony unless you had more than a single trait to use for comparisons. |
| json metadata | {"tags":["science","evolution","math","biology","bioinformatics"],"image":["https://steemitimages.com/DQmRVoQ1NBxhEWxdRigpQB2dmixrnQ1gYWGJgHs7N171BUE/UPGMA%20tree.png","https://steemitimages.com/DQmeUoWk2T2nFyvoKQkYbyceoCKqrirNcYNuhdWF1etawSN/maximum_parsimony.png","https://steemitimages.com/DQmNaB8S37aY8z1do34KD7K8zkbAcvQDyKwUdw84MLbuajL/maximum_parsimony2.png","https://steemitimages.com/DQmPSCM5TcqJNcftgfMPhsWVMNcm4LswpacZfCXkJUfX6G9/maximum_parsimony3.png","https://steemitimages.com/DQmcxcFw6a1BjJvBTzRF9uUjh8WP7ew6DpihdxkQiCELkdt/maximum_parsimony4.png","https://steemitimages.com/DQmZeK7HtZzrqb2585XE8JKaR86CfufVXtyrWceUHFi9ooW/maximum_parsimony5.png"],"links":["https://steemit.com/science/@callimico/how-to-draw-an-evolutionary-tree-upgma"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #20751930/Trx b9716c9d5407430304844fbfa0b2dea4d4f60791 |
View Raw JSON Data
{
"trx_id": "b9716c9d5407430304844fbfa0b2dea4d4f60791",
"block": 20751930,
"trx_in_block": 80,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-17T10:31:27",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "science",
"author": "callimico",
"permlink": "how-to-draw-an-evolutionary-tree-ii-maximum-parsimony",
"title": "How to draw an evolutionary tree II: Maximum parsimony",
"body": "In [my previous post](https://steemit.com/science/@callimico/how-to-draw-an-evolutionary-tree-upgma), I described how to use the algorithm UPGMA to construct an evolutionary tree from a distance matrix. It was fast and straightforward, but we had to make the assumption that evolution took place at the same rate throughout the tree. The next method, maximum parsimony, does not assume this and conceptually it is as simple as UPGMA. The drawback is that maximum parsimony is a lot slower. UPGMA singles out the optimal tree, under the assumptions of the algorithm, and does not attempt to score any other tree. Using maximum parsimony, you need to check all possible trees one at a time (there are probably algorithms that can speed up this process, but I don't know them).\n\nMaximum parsimony assumes that the correct tree is the one that requires the fewest evolutionary changes. The rationale is this: Every evolutionary change is an event with a probability below 1. If you consider two such events, the probability that both of them happen is lower than the probability that just one of them does. Just like rolling two sixes with a pair of dice is less probable than rolling six with one of them.\n\nTo apply maximum parsimony, we first need a hypothesis above the relationship between the taxa we want to investigate. We will look at five taxa, labeled A-E, and postulate the following phylogeny:\n\n\n\nNow, our task is to check how probable this tree is. Or rather, how parsimonious. Unlike UPGMA, there is no need for a distance matrix. We just need to know a set of traits and how they appear in our taxa. Using molecular data, these traits would be bases in a DNA or RNA sequence, or amino acids in a protein. First, write up the set of traits in each taxon. Disregard any trait that does not differ between taxa, or differs in a single taxon only. Next, we could try to assume an ancestral state, i.e. the set of traits at the root of the tree. But this would be guessing, and guesses are usually time-consuming. Instead, we can apply a method known as Fitch's algorithm.\n\nInstead of assuming anything about the root of the tree, we start from the leaves (the taxa) and work our way down, one trait at a time. Because this is just an example, we will only look at one trait here. Let's replace the names of the taxa with the trait, a DNA base from a particular locus:\n\n \n\nIt's fairly obvious that our current hypothesis isn't optimal; the C's are not each other's closest relative. But for the sake of the example, let's try and figure this out the hard way.\n\nLook at the two upper leaves. Both have A's so we can assume that their most recent common ancestor also had this base:\n\n\n\nThe two bottom leaves have different bases. Therefore, the ancestral character could be either a C or a T. Similarly, the ancestral node connecting the three upper leaves could have either an A or a C:\n\n\n\nAt the root of the tree, the character could be either an A, a C or a T. However, C was an option in both of the nodes following the root node, so we go with a C:\n\n\n\nThe number of ambiguous nodes, two, is the number of changes we have to assume to arrive at our current hypothetical tree. Curiously, this is actually the same number we would arrive at, had our hypothesis grouped the A's as sister taxa and the C's as sister taxa:\n\n\n\nThus, in this very simplistic example, we don't have enough information to single out the best solution by maximum parsimony. In practice, this would not be a problem, because you would never apply maximum parsimony unless you had more than a single trait to use for comparisons.",
"json_metadata": "{\"tags\":[\"science\",\"evolution\",\"math\",\"biology\",\"bioinformatics\"],\"image\":[\"https://steemitimages.com/DQmRVoQ1NBxhEWxdRigpQB2dmixrnQ1gYWGJgHs7N171BUE/UPGMA%20tree.png\",\"https://steemitimages.com/DQmeUoWk2T2nFyvoKQkYbyceoCKqrirNcYNuhdWF1etawSN/maximum_parsimony.png\",\"https://steemitimages.com/DQmNaB8S37aY8z1do34KD7K8zkbAcvQDyKwUdw84MLbuajL/maximum_parsimony2.png\",\"https://steemitimages.com/DQmPSCM5TcqJNcftgfMPhsWVMNcm4LswpacZfCXkJUfX6G9/maximum_parsimony3.png\",\"https://steemitimages.com/DQmcxcFw6a1BjJvBTzRF9uUjh8WP7ew6DpihdxkQiCELkdt/maximum_parsimony4.png\",\"https://steemitimages.com/DQmZeK7HtZzrqb2585XE8JKaR86CfufVXtyrWceUHFi9ooW/maximum_parsimony5.png\"],\"links\":[\"https://steemit.com/science/@callimico/how-to-draw-an-evolutionary-tree-upgma\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}callimicopublished a new post: how-to-draw-an-evolutionary-tree-upgma2018/03/16 21:40:00
callimicopublished a new post: how-to-draw-an-evolutionary-tree-upgma
2018/03/16 21:40:00
| parent author | |
| parent permlink | science |
| author | callimico |
| permlink | how-to-draw-an-evolutionary-tree-upgma |
| title | How to draw an evolutionary tree: UPGMA |
| body | [In my first post](https://steemit.com/science/@callimico/why-you-re-more-closely-related-to-a-salmon-than-a-salmon-is-to-a-shark-understanding-evolutionary-phylogenies), I explained how to read a phylogenetic tree, a tree depicting the relationship between different taxa, i.e. groups of organisms. [In my second post](https://steemit.com/science/@callimico/why-we-trust-in-dna-to-tell-us-how-organisms-are-related), I explained what data forms the basis of such trees, and why molecular data are preferred over morphological (appearance-related) data. Now, the time has come to look into the process of constructing the trees, once we have our data. Even with a relatively small number of taxa, the number of possible trees connecting them is huge. To find the most plausible tree, we need to make some assumptions and apply an appropriate algorithm. It may seem weird that several algorithms exist for calculating the "best" tree when, in reality, only one tree can be correct for any given dataset. Fortunately, the algorithms tend to agree quite well with each other. Some algorithms are fast, others are slower but make less drastic assumptions. With modern-day computers, even algorithms in the slow end of the spectrum can often be applied in a matter of seconds. Therefore, it's generally inadvisable to apply a fast, sloppy technique unless you have a good reason to assume that the underlying assumptions hold true. And yet, that's exactly the kind of technique I'm going to teach you in this post. Why? Because it's fast and one of the few that you can apply with pen and paper in a reasonable amount of time. Slightly more complicated techniques will follow in later posts. I used to pronounce UPGMA letter by letter, but my wonderful statistics teacher always pronounced it like a real word ("up g'mah"), and I've adopted the habit. UPGMA stands for Unweighted Pair Group Method with Arithmetic Mean and is a lot easier than it sounds. First off, we need a matrix listing the number of differences (e.g. base differences in homologous DNA sequences) between different taxa. Here's a mocked-up dataset with five taxa, labeled A-E:  The first step is very simple. Just locate the shortest distance in the matrix:  This is the distance between taxon A and taxon E. Since this is the shortest distance between any two taxa, we assume that A and E are each other's closest relative. We therefore group them together as AE and proceed to construct a new matrix with one row and one column less than the first one:  How did we obtain the new distances? By taking averages. For instance, the distance between A and B in the first matrix was 10, and the distance between B and E was 11. The distance from B to the new cluster AE is 10.5, the average of 10 and 11. This is where UPGMA makes a critical assumption, namely that _the rate of evolution is constant throughout the tree_. More complicated algorithms do not assume a constant rate of evolution, but for the sake of simplicity we accept it here. Distances that do not involve our newly formed cluster are not changed in the new matrix; the distance from C to D continues to be 12. The shortest distance in the new matrix is the one connecting AE and C, so let's form the cluster AE-C and draw another matrix:  Same procedure as last time: take averages and find the smallest distance. This time, it's the one connecting B and D. This concludes our analysis:  Here's the tree, drawn with tools from http://iubio.bio.indiana.edu/treeapp/treeprint-form.html:  |
| json metadata | {"tags":["science","evolution","math","bioinformatics","biology"],"image":["https://steemitimages.com/DQmcSGFw1ahbi86m4gYChSz3odrx2CX9pFRGaai1keX3xyM/image.png","https://steemitimages.com/DQmUbZSjPrNP1xCvwoSRPxoprXhNDHthZYyba3gFSHUprzx/image.png","https://steemitimages.com/DQmbJaje95rdNWtqB2z9nEUrFW1ZNZ9QzrbxDvyeL2RsedD/image.png","https://steemitimages.com/DQmanAucqaNK7ZUXDBkwWQvr8qPiCiRqVs5pfFmaRStVPGS/image.png","https://steemitimages.com/DQmUwiZ5JpnSmT4vFqecdBdMu7GFmY3s2iyaUvTpp3MVy66/image.png","https://steemitimages.com/DQmRVoQ1NBxhEWxdRigpQB2dmixrnQ1gYWGJgHs7N171BUE/UPGMA%20tree.png"],"links":["https://steemit.com/science/@callimico/why-you-re-more-closely-related-to-a-salmon-than-a-salmon-is-to-a-shark-understanding-evolutionary-phylogenies","https://steemit.com/science/@callimico/why-we-trust-in-dna-to-tell-us-how-organisms-are-related","http://iubio.bio.indiana.edu/treeapp/treeprint-form.html:"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #20736504/Trx 7477fe0ceb01429cae10fd091ceea529f5d1fbdf |
View Raw JSON Data
{
"trx_id": "7477fe0ceb01429cae10fd091ceea529f5d1fbdf",
"block": 20736504,
"trx_in_block": 25,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-16T21:40:00",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "science",
"author": "callimico",
"permlink": "how-to-draw-an-evolutionary-tree-upgma",
"title": "How to draw an evolutionary tree: UPGMA",
"body": "[In my first post](https://steemit.com/science/@callimico/why-you-re-more-closely-related-to-a-salmon-than-a-salmon-is-to-a-shark-understanding-evolutionary-phylogenies), I explained how to read a phylogenetic tree, a tree depicting the relationship between different taxa, i.e. groups of organisms. [In my second post](https://steemit.com/science/@callimico/why-we-trust-in-dna-to-tell-us-how-organisms-are-related), I explained what data forms the basis of such trees, and why molecular data are preferred over morphological (appearance-related) data. Now, the time has come to look into the process of constructing the trees, once we have our data.\n\nEven with a relatively small number of taxa, the number of possible trees connecting them is huge. To find the most plausible tree, we need to make some assumptions and apply an appropriate algorithm. It may seem weird that several algorithms exist for calculating the \"best\" tree when, in reality, only one tree can be correct for any given dataset. Fortunately, the algorithms tend to agree quite well with each other. Some algorithms are fast, others are slower but make less drastic assumptions. With modern-day computers, even algorithms in the slow end of the spectrum can often be applied in a matter of seconds. Therefore, it's generally inadvisable to apply a fast, sloppy technique unless you have a good reason to assume that the underlying assumptions hold true. And yet, that's exactly the kind of technique I'm going to teach you in this post. Why? Because it's fast and one of the few that you can apply with pen and paper in a reasonable amount of time. Slightly more complicated techniques will follow in later posts.\n\nI used to pronounce UPGMA letter by letter, but my wonderful statistics teacher always pronounced it like a real word (\"up g'mah\"), and I've adopted the habit. UPGMA stands for Unweighted Pair Group Method with Arithmetic Mean and is a lot easier than it sounds.\n\nFirst off, we need a matrix listing the number of differences (e.g. base differences in homologous DNA sequences) between different taxa. Here's a mocked-up dataset with five taxa, labeled A-E:\n\n\n\nThe first step is very simple. Just locate the shortest distance in the matrix:\n\n\n\nThis is the distance between taxon A and taxon E. Since this is the shortest distance between any two taxa, we assume that A and E are each other's closest relative. We therefore group them together as AE and proceed to construct a new matrix with one row and one column less than the first one:\n\n\n\nHow did we obtain the new distances? By taking averages. For instance, the distance between A and B in the first matrix was 10, and the distance between B and E was 11. The distance from B to the new cluster AE is 10.5, the average of 10 and 11. This is where UPGMA makes a critical assumption, namely that _the rate of evolution is constant throughout the tree_. More complicated algorithms do not assume a constant rate of evolution, but for the sake of simplicity we accept it here. Distances that do not involve our newly formed cluster are not changed in the new matrix; the distance from C to D continues to be 12.\n\nThe shortest distance in the new matrix is the one connecting AE and C, so let's form the cluster AE-C and draw another matrix:\n\n\n\nSame procedure as last time: take averages and find the smallest distance. This time, it's the one connecting B and D. This concludes our analysis:\n\n\n\nHere's the tree, drawn with tools from http://iubio.bio.indiana.edu/treeapp/treeprint-form.html:\n\n",
"json_metadata": "{\"tags\":[\"science\",\"evolution\",\"math\",\"bioinformatics\",\"biology\"],\"image\":[\"https://steemitimages.com/DQmcSGFw1ahbi86m4gYChSz3odrx2CX9pFRGaai1keX3xyM/image.png\",\"https://steemitimages.com/DQmUbZSjPrNP1xCvwoSRPxoprXhNDHthZYyba3gFSHUprzx/image.png\",\"https://steemitimages.com/DQmbJaje95rdNWtqB2z9nEUrFW1ZNZ9QzrbxDvyeL2RsedD/image.png\",\"https://steemitimages.com/DQmanAucqaNK7ZUXDBkwWQvr8qPiCiRqVs5pfFmaRStVPGS/image.png\",\"https://steemitimages.com/DQmUwiZ5JpnSmT4vFqecdBdMu7GFmY3s2iyaUvTpp3MVy66/image.png\",\"https://steemitimages.com/DQmRVoQ1NBxhEWxdRigpQB2dmixrnQ1gYWGJgHs7N171BUE/UPGMA%20tree.png\"],\"links\":[\"https://steemit.com/science/@callimico/why-you-re-more-closely-related-to-a-salmon-than-a-salmon-is-to-a-shark-understanding-evolutionary-phylogenies\",\"https://steemit.com/science/@callimico/why-we-trust-in-dna-to-tell-us-how-organisms-are-related\",\"http://iubio.bio.indiana.edu/treeapp/treeprint-form.html:\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}callimicoupvoted (100.00%) @physics-o-mania / the-dark-sides-of-einstein2018/03/16 07:36:30
callimicoupvoted (100.00%) @physics-o-mania / the-dark-sides-of-einstein
2018/03/16 07:36:30
| voter | callimico |
| author | physics-o-mania |
| permlink | the-dark-sides-of-einstein |
| weight | 10000 (100.00%) |
| Transaction Info | Block #20719638/Trx f0a45e8b1163f70cec279789db99fa295b99df1a |
View Raw JSON Data
{
"trx_id": "f0a45e8b1163f70cec279789db99fa295b99df1a",
"block": 20719638,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-16T07:36:30",
"op": [
"vote",
{
"voter": "callimico",
"author": "physics-o-mania",
"permlink": "the-dark-sides-of-einstein",
"weight": 10000
}
]
}callimicofollowed @physics-o-mania2018/03/16 07:36:27
callimicofollowed @physics-o-mania
2018/03/16 07:36:27
| required auths | [] |
| required posting auths | ["callimico"] |
| id | follow |
| json | ["follow",{"follower":"callimico","following":"physics-o-mania","what":["blog"]}] |
| Transaction Info | Block #20719637/Trx 6d8908a16f51c4f92da4d0bc3af3242292fbe356 |
View Raw JSON Data
{
"trx_id": "6d8908a16f51c4f92da4d0bc3af3242292fbe356",
"block": 20719637,
"trx_in_block": 34,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-16T07:36:27",
"op": [
"custom_json",
{
"required_auths": [],
"required_posting_auths": [
"callimico"
],
"id": "follow",
"json": "[\"follow\",{\"follower\":\"callimico\",\"following\":\"physics-o-mania\",\"what\":[\"blog\"]}]"
}
]
}callimicofollowed @science-trail2018/03/16 07:33:30
callimicofollowed @science-trail
2018/03/16 07:33:30
| required auths | [] |
| required posting auths | ["callimico"] |
| id | follow |
| json | ["follow",{"follower":"callimico","following":"science-trail","what":["blog"]}] |
| Transaction Info | Block #20719578/Trx a013c5f4b6057013c11e494a90e88269fd54b954 |
View Raw JSON Data
{
"trx_id": "a013c5f4b6057013c11e494a90e88269fd54b954",
"block": 20719578,
"trx_in_block": 41,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-16T07:33:30",
"op": [
"custom_json",
{
"required_auths": [],
"required_posting_auths": [
"callimico"
],
"id": "follow",
"json": "[\"follow\",{\"follower\":\"callimico\",\"following\":\"science-trail\",\"what\":[\"blog\"]}]"
}
]
}callimicoupvoted (100.00%) @science-trail / introducing-science-trail2018/03/16 07:32:51
callimicoupvoted (100.00%) @science-trail / introducing-science-trail
2018/03/16 07:32:51
| voter | callimico |
| author | science-trail |
| permlink | introducing-science-trail |
| weight | 10000 (100.00%) |
| Transaction Info | Block #20719565/Trx 67901fd96645ef183a25d23f92fac8b57980e569 |
View Raw JSON Data
{
"trx_id": "67901fd96645ef183a25d23f92fac8b57980e569",
"block": 20719565,
"trx_in_block": 51,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-16T07:32:51",
"op": [
"vote",
{
"voter": "callimico",
"author": "science-trail",
"permlink": "introducing-science-trail",
"weight": 10000
}
]
}2018/03/16 07:14:36
2018/03/16 07:14:36
| parent author | callimico |
| parent permlink | how-to-draw-an-evolutionary-tree-upgma |
| author | sjworld |
| permlink | re-callimico-how-to-draw-an-evolutionary-tree-upgma-20180316t071425666z |
| title | |
| body | Get free upvotes your post https://mysteemup.club |
| json metadata | {"tags":["science"],"links":["https://mysteemup.club"],"app":"steemit/0.1"} |
| Transaction Info | Block #20719201/Trx 1291f382a42fb7db41bb94e67dc02747e1f62d49 |
View Raw JSON Data
{
"trx_id": "1291f382a42fb7db41bb94e67dc02747e1f62d49",
"block": 20719201,
"trx_in_block": 60,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-16T07:14:36",
"op": [
"comment",
{
"parent_author": "callimico",
"parent_permlink": "how-to-draw-an-evolutionary-tree-upgma",
"author": "sjworld",
"permlink": "re-callimico-how-to-draw-an-evolutionary-tree-upgma-20180316t071425666z",
"title": "",
"body": "Get free upvotes your post https://mysteemup.club",
"json_metadata": "{\"tags\":[\"science\"],\"links\":[\"https://mysteemup.club\"],\"app\":\"steemit/0.1\"}"
}
]
}callimicopublished a new post: how-to-draw-an-evolutionary-tree-upgma2018/03/16 07:14:18
callimicopublished a new post: how-to-draw-an-evolutionary-tree-upgma
2018/03/16 07:14:18
| parent author | |
| parent permlink | science |
| author | callimico |
| permlink | how-to-draw-an-evolutionary-tree-upgma |
| title | How to draw an evolutionary tree: UPGMA |
| body | [In my first post](https://steemit.com/science/@callimico/why-you-re-more-closely-related-to-a-salmon-than-a-salmon-is-to-a-shark-understanding-evolutionary-phylogenies), I explained how to read a phylogenetic tree, a tree depicting the relationship between different taxa, i.e. groups of organisms. [In my second post](https://steemit.com/science/@callimico/why-we-trust-in-dna-to-tell-us-how-organisms-are-related), I explained what data forms the basis of such trees, and why molecular data are preferred over morphological (appearance-related) data. Now, the time has come to look into the process of constructing the trees, once we have our data. Even with a relatively small number of taxa, the number of possible trees connecting them is huge. To find the most plausible tree, we need to make some assumptions and apply an appropriate algorithm. It may seem weird that several algorithms exist for calculating the "best" tree when, in reality, only one tree can be correct for any given dataset. Fortunately, the algorithms tend to agree quite well with each other. Some algorithms are fast, others are slower but make less drastic assumptions. With modern-day computers, even algorithms in the slow end of the spectrum can often be applied in a matter of seconds. Therefore, it's generally inadvisable to apply a fast, sloppy technique unless you have a good reason to assume that the underlying assumptions hold true. And yet, that's exactly the kind of technique I'm going to teach you in this post. Why? Because it's fast and one of the few that you can apply with pen and paper in a reasonable amount of time. Slightly more complicated techniques will follow in later posts. I used to pronounce UPGMA letter by letter, but my wonderful statistics teacher always pronounced it like a real word ("up g'mah"), and I've adopted the habit. UPGMA stands for Unweighted Pair Group Method with Arithmetic Mean and is a lot easier than it sounds. First off, we need a matrix listing the number of differences (e.g. base differences in homologous DNA sequences) between different taxa. Here's a mocked-up dataset with five taxa, labeled A-E:  The first step is very simple. Just locate the shortest distance in the matrix:  This is the distance between taxon A and taxon E. Since this is the shortest distance between any two taxa, we assume that A and E are each other's closest relative. We therefore group them together as AE and proceed to construct a new matrix with one row and one column less than the first one:  How did we obtain the new distances? By taking averages. For instance, the distance between A and B in the first matrix was 10, and the distance between B and E was 11. The distance from B to the new cluster AE is 10.5, the average of 10 and 11. This is where UPGMA makes a critical assumption, namely that _the rate of evolution is constant throughout the tree_. More complicated algorithms do not assume a constant rate of evolution, but for the sake of simplicity we accept it here. Distances that do not involve our newly formed cluster are not changed in the new matrix; the distance from C to D continues to be 12. The shortest distance in the new matrix is the one connecting AE and C, so let's form the cluster AE-C and draw another matrix:  Same procedure as last time: take averages and find the smallest distance. This time, it's the one connecting B and D. This concludes our analysis:  Here's the tree, drawn with tools from http://iubio.bio.indiana.edu/treeapp/treeprint-form.html:  |
| json metadata | {"tags":["science","evolution","math","bioinformatics","algorithm"],"image":["https://steemitimages.com/DQmcSGFw1ahbi86m4gYChSz3odrx2CX9pFRGaai1keX3xyM/image.png","https://steemitimages.com/DQmUbZSjPrNP1xCvwoSRPxoprXhNDHthZYyba3gFSHUprzx/image.png","https://steemitimages.com/DQmbJaje95rdNWtqB2z9nEUrFW1ZNZ9QzrbxDvyeL2RsedD/image.png","https://steemitimages.com/DQmanAucqaNK7ZUXDBkwWQvr8qPiCiRqVs5pfFmaRStVPGS/image.png","https://steemitimages.com/DQmUwiZ5JpnSmT4vFqecdBdMu7GFmY3s2iyaUvTpp3MVy66/image.png","https://steemitimages.com/DQmRVoQ1NBxhEWxdRigpQB2dmixrnQ1gYWGJgHs7N171BUE/UPGMA%20tree.png"],"links":["https://steemit.com/science/@callimico/why-you-re-more-closely-related-to-a-salmon-than-a-salmon-is-to-a-shark-understanding-evolutionary-phylogenies","https://steemit.com/science/@callimico/why-we-trust-in-dna-to-tell-us-how-organisms-are-related","http://iubio.bio.indiana.edu/treeapp/treeprint-form.html:"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #20719195/Trx 475e4a4f0edeb8c7aec5ec30d6a6d8ab5f0a148c |
View Raw JSON Data
{
"trx_id": "475e4a4f0edeb8c7aec5ec30d6a6d8ab5f0a148c",
"block": 20719195,
"trx_in_block": 8,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-16T07:14:18",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "science",
"author": "callimico",
"permlink": "how-to-draw-an-evolutionary-tree-upgma",
"title": "How to draw an evolutionary tree: UPGMA",
"body": "[In my first post](https://steemit.com/science/@callimico/why-you-re-more-closely-related-to-a-salmon-than-a-salmon-is-to-a-shark-understanding-evolutionary-phylogenies), I explained how to read a phylogenetic tree, a tree depicting the relationship between different taxa, i.e. groups of organisms. [In my second post](https://steemit.com/science/@callimico/why-we-trust-in-dna-to-tell-us-how-organisms-are-related), I explained what data forms the basis of such trees, and why molecular data are preferred over morphological (appearance-related) data. Now, the time has come to look into the process of constructing the trees, once we have our data.\n\nEven with a relatively small number of taxa, the number of possible trees connecting them is huge. To find the most plausible tree, we need to make some assumptions and apply an appropriate algorithm. It may seem weird that several algorithms exist for calculating the \"best\" tree when, in reality, only one tree can be correct for any given dataset. Fortunately, the algorithms tend to agree quite well with each other. Some algorithms are fast, others are slower but make less drastic assumptions. With modern-day computers, even algorithms in the slow end of the spectrum can often be applied in a matter of seconds. Therefore, it's generally inadvisable to apply a fast, sloppy technique unless you have a good reason to assume that the underlying assumptions hold true. And yet, that's exactly the kind of technique I'm going to teach you in this post. Why? Because it's fast and one of the few that you can apply with pen and paper in a reasonable amount of time. Slightly more complicated techniques will follow in later posts.\n\nI used to pronounce UPGMA letter by letter, but my wonderful statistics teacher always pronounced it like a real word (\"up g'mah\"), and I've adopted the habit. UPGMA stands for Unweighted Pair Group Method with Arithmetic Mean and is a lot easier than it sounds.\n\nFirst off, we need a matrix listing the number of differences (e.g. base differences in homologous DNA sequences) between different taxa. Here's a mocked-up dataset with five taxa, labeled A-E:\n\n\n\nThe first step is very simple. Just locate the shortest distance in the matrix:\n\n\n\nThis is the distance between taxon A and taxon E. Since this is the shortest distance between any two taxa, we assume that A and E are each other's closest relative. We therefore group them together as AE and proceed to construct a new matrix with one row and one column less than the first one:\n\n\n\nHow did we obtain the new distances? By taking averages. For instance, the distance between A and B in the first matrix was 10, and the distance between B and E was 11. The distance from B to the new cluster AE is 10.5, the average of 10 and 11. This is where UPGMA makes a critical assumption, namely that _the rate of evolution is constant throughout the tree_. More complicated algorithms do not assume a constant rate of evolution, but for the sake of simplicity we accept it here. Distances that do not involve our newly formed cluster are not changed in the new matrix; the distance from C to D continues to be 12.\n\nThe shortest distance in the new matrix is the one connecting AE and C, so let's form the cluster AE-C and draw another matrix:\n\n\n\nSame procedure as last time: take averages and find the smallest distance. This time, it's the one connecting B and D. This concludes our analysis:\n\n\n\nHere's the tree, drawn with tools from http://iubio.bio.indiana.edu/treeapp/treeprint-form.html:\n\n",
"json_metadata": "{\"tags\":[\"science\",\"evolution\",\"math\",\"bioinformatics\",\"algorithm\"],\"image\":[\"https://steemitimages.com/DQmcSGFw1ahbi86m4gYChSz3odrx2CX9pFRGaai1keX3xyM/image.png\",\"https://steemitimages.com/DQmUbZSjPrNP1xCvwoSRPxoprXhNDHthZYyba3gFSHUprzx/image.png\",\"https://steemitimages.com/DQmbJaje95rdNWtqB2z9nEUrFW1ZNZ9QzrbxDvyeL2RsedD/image.png\",\"https://steemitimages.com/DQmanAucqaNK7ZUXDBkwWQvr8qPiCiRqVs5pfFmaRStVPGS/image.png\",\"https://steemitimages.com/DQmUwiZ5JpnSmT4vFqecdBdMu7GFmY3s2iyaUvTpp3MVy66/image.png\",\"https://steemitimages.com/DQmRVoQ1NBxhEWxdRigpQB2dmixrnQ1gYWGJgHs7N171BUE/UPGMA%20tree.png\"],\"links\":[\"https://steemit.com/science/@callimico/why-you-re-more-closely-related-to-a-salmon-than-a-salmon-is-to-a-shark-understanding-evolutionary-phylogenies\",\"https://steemit.com/science/@callimico/why-we-trust-in-dna-to-tell-us-how-organisms-are-related\",\"http://iubio.bio.indiana.edu/treeapp/treeprint-form.html:\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}2018/03/15 11:23:15
2018/03/15 11:23:15
| voter | callimico |
| author | ilyastarar |
| permlink | the-mystery-of-steemit-rewards-solved-even-for-a-9-year-old-see-what-you-actually-get-from-steemit |
| weight | 10000 (100.00%) |
| Transaction Info | Block #20695401/Trx d8033b6522581d97ecd140a3e0d49dc83f85bd8b |
View Raw JSON Data
{
"trx_id": "d8033b6522581d97ecd140a3e0d49dc83f85bd8b",
"block": 20695401,
"trx_in_block": 8,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-15T11:23:15",
"op": [
"vote",
{
"voter": "callimico",
"author": "ilyastarar",
"permlink": "the-mystery-of-steemit-rewards-solved-even-for-a-9-year-old-see-what-you-actually-get-from-steemit",
"weight": 10000
}
]
}callimicoupvoted (100.00%) @amavi / endangered-species-7-the-saiga-antelope2018/03/15 11:15:06
callimicoupvoted (100.00%) @amavi / endangered-species-7-the-saiga-antelope
2018/03/15 11:15:06
| voter | callimico |
| author | amavi |
| permlink | endangered-species-7-the-saiga-antelope |
| weight | 10000 (100.00%) |
| Transaction Info | Block #20695238/Trx 1816ab7fc0b3e95b163aadad4e74b643550862cf |
View Raw JSON Data
{
"trx_id": "1816ab7fc0b3e95b163aadad4e74b643550862cf",
"block": 20695238,
"trx_in_block": 38,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-15T11:15:06",
"op": [
"vote",
{
"voter": "callimico",
"author": "amavi",
"permlink": "endangered-species-7-the-saiga-antelope",
"weight": 10000
}
]
}callimicoupdated their account properties2018/03/15 11:03:39
callimicoupdated their account properties
2018/03/15 11:03:39
| account | callimico |
| memo key | STM5tiGgRZ3fjkLhuzfnbmvRGNgPFAYF8rzLBgG71wFAWELPW23jr |
| json metadata | {"profile":{"profile_image":"https://upload.wikimedia.org/wikipedia/commons/7/77/Goeldi%27s_Marmoset.jpg"}} |
| Transaction Info | Block #20695010/Trx 3c884a0580fa679fa275339d1506df61a20326e9 |
View Raw JSON Data
{
"trx_id": "3c884a0580fa679fa275339d1506df61a20326e9",
"block": 20695010,
"trx_in_block": 93,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-15T11:03:39",
"op": [
"account_update",
{
"account": "callimico",
"memo_key": "STM5tiGgRZ3fjkLhuzfnbmvRGNgPFAYF8rzLBgG71wFAWELPW23jr",
"json_metadata": "{\"profile\":{\"profile_image\":\"https://upload.wikimedia.org/wikipedia/commons/7/77/Goeldi%27s_Marmoset.jpg\"}}"
}
]
}callimicoupdated their account properties2018/03/15 11:02:51
callimicoupdated their account properties
2018/03/15 11:02:51
| account | callimico |
| memo key | STM5tiGgRZ3fjkLhuzfnbmvRGNgPFAYF8rzLBgG71wFAWELPW23jr |
| json metadata | {"profile":{"cover_image":"https://upload.wikimedia.org/wikipedia/commons/7/77/Goeldi%27s_Marmoset.jpg"}} |
| Transaction Info | Block #20694994/Trx 9d08c2a353e030107e5bf8258b02efe1cce5e163 |
View Raw JSON Data
{
"trx_id": "9d08c2a353e030107e5bf8258b02efe1cce5e163",
"block": 20694994,
"trx_in_block": 65,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-15T11:02:51",
"op": [
"account_update",
{
"account": "callimico",
"memo_key": "STM5tiGgRZ3fjkLhuzfnbmvRGNgPFAYF8rzLBgG71wFAWELPW23jr",
"json_metadata": "{\"profile\":{\"cover_image\":\"https://upload.wikimedia.org/wikipedia/commons/7/77/Goeldi%27s_Marmoset.jpg\"}}"
}
]
}callimicoupdated their account properties2018/03/15 11:00:51
callimicoupdated their account properties
2018/03/15 11:00:51
| account | callimico |
| memo key | STM5tiGgRZ3fjkLhuzfnbmvRGNgPFAYF8rzLBgG71wFAWELPW23jr |
| json metadata | {"profile":{"profile_image":"https://upload.wikimedia.org/wikipedia/commons/7/77/Goeldi%27s_Marmoset.jpg"}} |
| Transaction Info | Block #20694954/Trx 60e861212814af891d37e6d075774a3352226d2f |
View Raw JSON Data
{
"trx_id": "60e861212814af891d37e6d075774a3352226d2f",
"block": 20694954,
"trx_in_block": 14,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-15T11:00:51",
"op": [
"account_update",
{
"account": "callimico",
"memo_key": "STM5tiGgRZ3fjkLhuzfnbmvRGNgPFAYF8rzLBgG71wFAWELPW23jr",
"json_metadata": "{\"profile\":{\"profile_image\":\"https://upload.wikimedia.org/wikipedia/commons/7/77/Goeldi%27s_Marmoset.jpg\"}}"
}
]
}callimicopublished a new post: how-to-compare-two-dna-sequences-by-hand-the-needleman-wunsch-algorithm2018/03/15 06:52:48
callimicopublished a new post: how-to-compare-two-dna-sequences-by-hand-the-needleman-wunsch-algorithm
2018/03/15 06:52:48
| parent author | |
| parent permlink | science |
| author | callimico |
| permlink | how-to-compare-two-dna-sequences-by-hand-the-needleman-wunsch-algorithm |
| title | How to compare two DNA sequences by hand - the Needleman-Wunsch algorithm |
| body | First of all, no sane person working in bioinformatics would spend time comparing DNA sequences by hand with all the fast digital tools available (here's one: https://blast.ncbi.nlm.nih.gov/Blast.cgi?PAGE_TYPE=BlastSearch&PROG_DEF=blastn&BLAST_PROG_DEF=blastn&BLAST_SPEC=GlobalAln&LINK_LOC=BlastHomeLink). Still, any bioinformatician would do well to understand the technique, in part because it contains an element of subjectivity. Two DNA sequences that share a common origin are said to be homologous. It could be the gene for insulin in humans and the one in cattle. The genes are called orthologs when they are both homologous and come from different species. Homologous gene sequences differ, because the ancestral sequence has mutated in different places in the lineages descending from it. The mutation can be a substitution: AACGT to ACCGT An insertion: AACGT to AACCGT Or a deletion: AACGT to ACGT When DNA is transcribed into RNA, it is read in triplets, pieces of three adjacent bases. The three corresponding RNA bases are later translated into an amino acid. Substitutions tend to be the least harmful mutations, because they each affect zero or at most one amino acid. Three-base insertions or deletions are also relatively harmless, because the addition or removal of a triplet means one amino acid more or less in the finished protein (I stress _relatively_ harmless; even substitutions can be lethal if they occur in a bad spot). Insertions or deletions of base numbers not divisible by three are bad news, because they disturb the reading frame of the sequence, potentially affecting all amino acids downstream from the mutation. They are called frameshift mutations and usually lead to the translation of a non-functional protein. Because of their potential for causing frameshifts, indels (insertions or deletions) are less frequently preserved in the course of evolution than substitutions. When aligning two homologous DNA sequences of unequal length, the occurence of an indel has to be assumed. This is represented by a gap: A_CGT AACGT We may even choose to assume an indel between sequences of the same length, if it makes for a better alignment. But since indels are often severe, their inclusion should be punished. That is, we apply a gap penalty. There is a multitude of different ways to compare even short DNA sequences. Without an algorithm to locate the best options, the computers of today would not be able to handle even a small fraction of the genetic information currently published. Fortunately, the Needleman-Wunsch algorithm (developed by Saul B. Needleman and Christian D. Wunsch) makes for optimal alignment of large sequences. Short sequences can be aligned by hand. The rest of this post will describe the procedure. ## How to run a Needleman-Wunsch algorithm First, draw a matrix. Each side should be the length of one of the sequences you want to compare, plus one cell. We are going to compare two sequences of 6 and 7 bases, respectively, so we need a 7x8 matrix:  You will notice that I have already filled out part of the matrix. Indeed, this is a bit premature. We first need to decide on a match score, a mismatch score and a gap penalty. This is the subjective part of the algorithm. I have used 1, 0 and -1. If in doubt, one can try to run the same alignment several times with different scores to see how much this affects the final results. The idea is to start in the upper left corner of the matrix and work your way down the alignment. A diagonal move means that you are simply comparing the next base in sequence 1 to the next base in sequence 2. A horizontal or vertical move signifies the introduction of a gap in, respectively, the vertical and horizontal sequence. Since our gap penalty is -1, every expansion of the gap in the same direction adds -1 to the total score unless we obtain a match. Now, lets attempt to align our first base. We have three options, but the first two are rather silly. We could introduce a gap in sequence 1 and then a gap in sequence 2. Or we could introduce a gap in sequence 2 and then a gap in sequence 1. Or we could just avoid gaps altogether and align the first base in sequence 1 with the first in sequence 2. You might have guessed what I prefer, but take a look at the scores to be sure: Option 1: -1 + (-1) = -2 Option 2: -1 + (-1) = -2 Option 3: 0 0 > -2. We put 0, because we got a mismatch (A and C). At this point, it's preferable to a gap, so we put a 0 in the matrix.  Now, we just need to fill out the rest of the matrix. It's important to put the best option in each cell based on the three cells that precede it to the west, north west and north.  The new 0 was chosen as the best of these three options: Option 1: Add a gap in sequence CCATTAG by moving right after aligning A and C: 0 [A and C mismatch] + 1 [C and C match] + (-1) [new gap] = 0 Option 2: Add a gap in sequence ACCTAG by moving downwards after aligning A and C: 0 [A and C mismatch] + 0 [A and C mismatch] + (-1) [new gap] = -1 Option 3: Align the second base in ACCTAG with the first base in CCATTAG by moving diagonally after introducing a gap in CCATTAG: -1 [gap in CCATTAG] + 1 (C and C match) = 0 Option 1 and 3 are equally good and beat option 2, so we put a 0 in the cell. We continue to add new numbers to the matrix, one slash at a time:   Fast-forward...  Our final score is the number in the lower right corner, in this case 2. The next step is to trace back through the matrix to see which alignment patterns led to this score. We ask ourselves: Which of the preceding cells could have produced the number 2. There are two options:  We now follow each path back to the upper left corner. I've used blue color here, because it was faster in Word, but it's more helpful to draw arrows so you can see each individual path right away:  There are three possible paths here, each of them producing an optimal alignment. The first one is:  It corresponds to the following alignment:  These are the other options:   |
| json metadata | {"tags":["science","math","genetics","bioinformatics","evolution"],"image":["https://steemitimages.com/DQmRZ7miqppgzdMkxBjbmL9rPcMG5WBDpkiTMTbfEKNBaam/matrix1.png","https://steemitimages.com/DQmdpZY7cTXQipuLXYdz8ss1a6sNK2LfNixd4GQHcbufWSn/matrix2.png","https://steemitimages.com/DQmXtLrivb5gAs3cgZ9LsbpnrTHNyn3hS5x943QLUdWqT19/image.png","https://steemitimages.com/DQmUp7jqJyyqSPo8jPS7Ja9J3JnYgTC2SKsHpvJigFz6oGx/image.png","https://steemitimages.com/DQmQv3y1WR7TZBZSaN8aG77U2LS9hE1XpTFydT89AKyrdTQ/image.png","https://steemitimages.com/DQmNVvbmjGDBrqLtH7BrqvrCPiZ6HiqGxbHbskWf7DUUR9u/image.png","https://steemitimages.com/DQmbpRMZJ2oMu3yztjALT3byaCE9K7Yn1N7cKca7XCqBpxD/image.png","https://steemitimages.com/DQmcDM7AxrMk3KJ27KhgNGqYfBNiqNv48o4o6Qj1mtpzgwt/image.png","https://steemitimages.com/DQmcoEp6cYcrAyKwwTqGJVxkgKB7mCHfGFxyZJ7maKXHvMC/image.png","https://steemitimages.com/DQmXguzUqNz2GECkneJX5uNkG8qXpVPqkJBE5bbMANZETVS/image.png","https://steemitimages.com/DQmZZyifHSQdtueRWy9LqMGQVSjY4P8gj2BjbkHU3fZ7G9c/image.png","https://steemitimages.com/DQmUqMa1VNJyr9k1wWDGMvrZitvzU4BvyG3dJGXfrvYnjXp/image.png"],"links":["https://blast.ncbi.nlm.nih.gov/Blast.cgi?PAGE_TYPE=BlastSearch&PROG_DEF=blastn&BLAST_PROG_DEF=blastn&BLAST_SPEC=GlobalAln&LINK_LOC=BlastHomeLink"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #20690003/Trx 959423c2d9d32b2d3259975486459c0821482437 |
View Raw JSON Data
{
"trx_id": "959423c2d9d32b2d3259975486459c0821482437",
"block": 20690003,
"trx_in_block": 7,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-15T06:52:48",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "science",
"author": "callimico",
"permlink": "how-to-compare-two-dna-sequences-by-hand-the-needleman-wunsch-algorithm",
"title": "How to compare two DNA sequences by hand - the Needleman-Wunsch algorithm",
"body": "First of all, no sane person working in bioinformatics would spend time comparing DNA sequences by hand with all the fast digital tools available (here's one: https://blast.ncbi.nlm.nih.gov/Blast.cgi?PAGE_TYPE=BlastSearch&PROG_DEF=blastn&BLAST_PROG_DEF=blastn&BLAST_SPEC=GlobalAln&LINK_LOC=BlastHomeLink). Still, any bioinformatician would do well to understand the technique, in part because it contains an element of subjectivity.\n\nTwo DNA sequences that share a common origin are said to be homologous. It could be the gene for insulin in humans and the one in cattle. The genes are called orthologs when they are both homologous and come from different species. Homologous gene sequences differ, because the ancestral sequence has mutated in different places in the lineages descending from it. The mutation can be a substitution:\n\nAACGT to ACCGT\n\nAn insertion:\n\nAACGT to AACCGT\n\nOr a deletion:\n\nAACGT to ACGT\n\nWhen DNA is transcribed into RNA, it is read in triplets, pieces of three adjacent bases. The three corresponding RNA bases are later translated into an amino acid. Substitutions tend to be the least harmful mutations, because they each affect zero or at most one amino acid. Three-base insertions or deletions are also relatively harmless, because the addition or removal of a triplet means one amino acid more or less in the finished protein (I stress _relatively_ harmless; even substitutions can be lethal if they occur in a bad spot). Insertions or deletions of base numbers not divisible by three are bad news, because they disturb the reading frame of the sequence, potentially affecting all amino acids downstream from the mutation. They are called frameshift mutations and usually lead to the translation of a non-functional protein.\n\nBecause of their potential for causing frameshifts, indels (insertions or deletions) are less frequently preserved in the course of evolution than substitutions. When aligning two homologous DNA sequences of unequal length, the occurence of an indel has to be assumed. This is represented by a gap:\n\nA_CGT\nAACGT\n\nWe may even choose to assume an indel between sequences of the same length, if it makes for a better alignment. But since indels are often severe, their inclusion should be punished. That is, we apply a gap penalty.\n\nThere is a multitude of different ways to compare even short DNA sequences. Without an algorithm to locate the best options, the computers of today would not be able to handle even a small fraction of the genetic information currently published. Fortunately, the Needleman-Wunsch algorithm (developed by Saul B. Needleman and Christian D. Wunsch) makes for optimal alignment of large sequences. Short sequences can be aligned by hand. The rest of this post will describe the procedure.\n\n## How to run a Needleman-Wunsch algorithm\n\nFirst, draw a matrix. Each side should be the length of one of the sequences you want to compare, plus one cell. We are going to compare two sequences of 6 and 7 bases, respectively, so we need a 7x8 matrix:\n\n\t\t\t\t\n\nYou will notice that I have already filled out part of the matrix. Indeed, this is a bit premature. We first need to decide on a match score, a mismatch score and a gap penalty. This is the subjective part of the algorithm. I have used 1, 0 and -1. If in doubt, one can try to run the same alignment several times with different scores to see how much this affects the final results.\n\nThe idea is to start in the upper left corner of the matrix and work your way down the alignment. A diagonal move means that you are simply comparing the next base in sequence 1 to the next base in sequence 2. A horizontal or vertical move signifies the introduction of a gap in, respectively, the vertical and horizontal sequence. Since our gap penalty is -1, every expansion of the gap in the same direction adds -1 to the total score unless we obtain a match.\n\nNow, lets attempt to align our first base. We have three options, but the first two are rather silly. We could introduce a gap in sequence 1 and then a gap in sequence 2. Or we could introduce a gap in sequence 2 and then a gap in sequence 1. Or we could just avoid gaps altogether and align the first base in sequence 1 with the first in sequence 2. You might have guessed what I prefer, but take a look at the scores to be sure:\n\nOption 1: -1 + (-1) = -2\nOption 2: -1 + (-1) = -2\nOption 3: 0\n\n0 > -2. We put 0, because we got a mismatch (A and C). At this point, it's preferable to a gap, so we put a 0 in the matrix.\n\n\n\nNow, we just need to fill out the rest of the matrix. It's important to put the best option in each cell based on the three cells that precede it to the west, north west and north.\n\n\n\nThe new 0 was chosen as the best of these three options:\n\nOption 1: Add a gap in sequence CCATTAG by moving right after aligning A and C: \n0 [A and C mismatch] + 1 [C and C match] + (-1) [new gap] = 0\n\nOption 2: Add a gap in sequence ACCTAG by moving downwards after aligning A and C: \n0 [A and C mismatch] + 0 [A and C mismatch] + (-1) [new gap] = -1\n\nOption 3: Align the second base in ACCTAG with the first base in CCATTAG by moving diagonally after introducing a gap in CCATTAG:\n-1 [gap in CCATTAG] + 1 (C and C match) = 0\n\nOption 1 and 3 are equally good and beat option 2, so we put a 0 in the cell.\n\nWe continue to add new numbers to the matrix, one slash at a time: \n\n\n\n\n\nFast-forward...\n\n\n\nOur final score is the number in the lower right corner, in this case 2. The next step is to trace back through the matrix to see which alignment patterns led to this score. We ask ourselves: Which of the preceding cells could have produced the number 2. There are two options:\n\n\n\nWe now follow each path back to the upper left corner. I've used blue color here, because it was faster in Word, but it's more helpful to draw arrows so you can see each individual path right away:\n\n\n\nThere are three possible paths here, each of them producing an optimal alignment. The first one is:\n\n\n\nIt corresponds to the following alignment:\n\n\n\nThese are the other options:\n\n\n\n",
"json_metadata": "{\"tags\":[\"science\",\"math\",\"genetics\",\"bioinformatics\",\"evolution\"],\"image\":[\"https://steemitimages.com/DQmRZ7miqppgzdMkxBjbmL9rPcMG5WBDpkiTMTbfEKNBaam/matrix1.png\",\"https://steemitimages.com/DQmdpZY7cTXQipuLXYdz8ss1a6sNK2LfNixd4GQHcbufWSn/matrix2.png\",\"https://steemitimages.com/DQmXtLrivb5gAs3cgZ9LsbpnrTHNyn3hS5x943QLUdWqT19/image.png\",\"https://steemitimages.com/DQmUp7jqJyyqSPo8jPS7Ja9J3JnYgTC2SKsHpvJigFz6oGx/image.png\",\"https://steemitimages.com/DQmQv3y1WR7TZBZSaN8aG77U2LS9hE1XpTFydT89AKyrdTQ/image.png\",\"https://steemitimages.com/DQmNVvbmjGDBrqLtH7BrqvrCPiZ6HiqGxbHbskWf7DUUR9u/image.png\",\"https://steemitimages.com/DQmbpRMZJ2oMu3yztjALT3byaCE9K7Yn1N7cKca7XCqBpxD/image.png\",\"https://steemitimages.com/DQmcDM7AxrMk3KJ27KhgNGqYfBNiqNv48o4o6Qj1mtpzgwt/image.png\",\"https://steemitimages.com/DQmcoEp6cYcrAyKwwTqGJVxkgKB7mCHfGFxyZJ7maKXHvMC/image.png\",\"https://steemitimages.com/DQmXguzUqNz2GECkneJX5uNkG8qXpVPqkJBE5bbMANZETVS/image.png\",\"https://steemitimages.com/DQmZZyifHSQdtueRWy9LqMGQVSjY4P8gj2BjbkHU3fZ7G9c/image.png\",\"https://steemitimages.com/DQmUqMa1VNJyr9k1wWDGMvrZitvzU4BvyG3dJGXfrvYnjXp/image.png\"],\"links\":[\"https://blast.ncbi.nlm.nih.gov/Blast.cgi?PAGE_TYPE=BlastSearch&PROG_DEF=blastn&BLAST_PROG_DEF=blastn&BLAST_SPEC=GlobalAln&LINK_LOC=BlastHomeLink\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}callimicopublished a new post: how-to-compare-two-dna-sequences-by-hand-the-needleman-wunsch-algorithm2018/03/15 06:48:51
callimicopublished a new post: how-to-compare-two-dna-sequences-by-hand-the-needleman-wunsch-algorithm
2018/03/15 06:48:51
| parent author | |
| parent permlink | science |
| author | callimico |
| permlink | how-to-compare-two-dna-sequences-by-hand-the-needleman-wunsch-algorithm |
| title | How to compare two DNA sequences by hand - the Needleman-Wunsch algorithm |
| body | @@ -30,20 +30,18 @@ working -with +in bioinfo |
| json metadata | {"tags":["science","math","genetics","bioinformatics","algorithm"],"image":["https://steemitimages.com/DQmRZ7miqppgzdMkxBjbmL9rPcMG5WBDpkiTMTbfEKNBaam/matrix1.png","https://steemitimages.com/DQmdpZY7cTXQipuLXYdz8ss1a6sNK2LfNixd4GQHcbufWSn/matrix2.png","https://steemitimages.com/DQmXtLrivb5gAs3cgZ9LsbpnrTHNyn3hS5x943QLUdWqT19/image.png","https://steemitimages.com/DQmUp7jqJyyqSPo8jPS7Ja9J3JnYgTC2SKsHpvJigFz6oGx/image.png","https://steemitimages.com/DQmQv3y1WR7TZBZSaN8aG77U2LS9hE1XpTFydT89AKyrdTQ/image.png","https://steemitimages.com/DQmNVvbmjGDBrqLtH7BrqvrCPiZ6HiqGxbHbskWf7DUUR9u/image.png","https://steemitimages.com/DQmbpRMZJ2oMu3yztjALT3byaCE9K7Yn1N7cKca7XCqBpxD/image.png","https://steemitimages.com/DQmcDM7AxrMk3KJ27KhgNGqYfBNiqNv48o4o6Qj1mtpzgwt/image.png","https://steemitimages.com/DQmcoEp6cYcrAyKwwTqGJVxkgKB7mCHfGFxyZJ7maKXHvMC/image.png","https://steemitimages.com/DQmXguzUqNz2GECkneJX5uNkG8qXpVPqkJBE5bbMANZETVS/image.png","https://steemitimages.com/DQmZZyifHSQdtueRWy9LqMGQVSjY4P8gj2BjbkHU3fZ7G9c/image.png","https://steemitimages.com/DQmUqMa1VNJyr9k1wWDGMvrZitvzU4BvyG3dJGXfrvYnjXp/image.png"],"links":["https://blast.ncbi.nlm.nih.gov/Blast.cgi?PAGE_TYPE=BlastSearch&PROG_DEF=blastn&BLAST_PROG_DEF=blastn&BLAST_SPEC=GlobalAln&LINK_LOC=BlastHomeLink"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #20689924/Trx 74c4c3013c8da7afdcb2f49759017ab2511aa5b5 |
View Raw JSON Data
{
"trx_id": "74c4c3013c8da7afdcb2f49759017ab2511aa5b5",
"block": 20689924,
"trx_in_block": 19,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-15T06:48:51",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "science",
"author": "callimico",
"permlink": "how-to-compare-two-dna-sequences-by-hand-the-needleman-wunsch-algorithm",
"title": "How to compare two DNA sequences by hand - the Needleman-Wunsch algorithm",
"body": "@@ -30,20 +30,18 @@\n working \n-with\n+in\n bioinfo\n",
"json_metadata": "{\"tags\":[\"science\",\"math\",\"genetics\",\"bioinformatics\",\"algorithm\"],\"image\":[\"https://steemitimages.com/DQmRZ7miqppgzdMkxBjbmL9rPcMG5WBDpkiTMTbfEKNBaam/matrix1.png\",\"https://steemitimages.com/DQmdpZY7cTXQipuLXYdz8ss1a6sNK2LfNixd4GQHcbufWSn/matrix2.png\",\"https://steemitimages.com/DQmXtLrivb5gAs3cgZ9LsbpnrTHNyn3hS5x943QLUdWqT19/image.png\",\"https://steemitimages.com/DQmUp7jqJyyqSPo8jPS7Ja9J3JnYgTC2SKsHpvJigFz6oGx/image.png\",\"https://steemitimages.com/DQmQv3y1WR7TZBZSaN8aG77U2LS9hE1XpTFydT89AKyrdTQ/image.png\",\"https://steemitimages.com/DQmNVvbmjGDBrqLtH7BrqvrCPiZ6HiqGxbHbskWf7DUUR9u/image.png\",\"https://steemitimages.com/DQmbpRMZJ2oMu3yztjALT3byaCE9K7Yn1N7cKca7XCqBpxD/image.png\",\"https://steemitimages.com/DQmcDM7AxrMk3KJ27KhgNGqYfBNiqNv48o4o6Qj1mtpzgwt/image.png\",\"https://steemitimages.com/DQmcoEp6cYcrAyKwwTqGJVxkgKB7mCHfGFxyZJ7maKXHvMC/image.png\",\"https://steemitimages.com/DQmXguzUqNz2GECkneJX5uNkG8qXpVPqkJBE5bbMANZETVS/image.png\",\"https://steemitimages.com/DQmZZyifHSQdtueRWy9LqMGQVSjY4P8gj2BjbkHU3fZ7G9c/image.png\",\"https://steemitimages.com/DQmUqMa1VNJyr9k1wWDGMvrZitvzU4BvyG3dJGXfrvYnjXp/image.png\"],\"links\":[\"https://blast.ncbi.nlm.nih.gov/Blast.cgi?PAGE_TYPE=BlastSearch&PROG_DEF=blastn&BLAST_PROG_DEF=blastn&BLAST_SPEC=GlobalAln&LINK_LOC=BlastHomeLink\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}callimicopublished a new post: how-to-compare-two-dna-sequences-by-hand-the-needleman-wunsch-algorithm2018/03/15 06:47:36
callimicopublished a new post: how-to-compare-two-dna-sequences-by-hand-the-needleman-wunsch-algorithm
2018/03/15 06:47:36
| parent author | |
| parent permlink | science |
| author | callimico |
| permlink | how-to-compare-two-dna-sequences-by-hand-the-needleman-wunsch-algorithm |
| title | How to compare two DNA sequences by hand - the Needleman-Wunsch algorithm |
| body | First of all, no sane person working with bioinformatics would spend time comparing DNA sequences by hand with all the fast digital tools available (here's one: https://blast.ncbi.nlm.nih.gov/Blast.cgi?PAGE_TYPE=BlastSearch&PROG_DEF=blastn&BLAST_PROG_DEF=blastn&BLAST_SPEC=GlobalAln&LINK_LOC=BlastHomeLink). Still, any bioinformatician would do well to understand the technique, in part because it contains an element of subjectivity. Two DNA sequences that share a common origin are said to be homologous. It could be the gene for insulin in humans and the one in cattle. The genes are called orthologs when they are both homologous and come from different species. Homologous gene sequences differ, because the ancestral sequence has mutated in different places in the lineages descending from it. The mutation can be a substitution: AACGT to ACCGT An insertion: AACGT to AACCGT Or a deletion: AACGT to ACGT When DNA is transcribed into RNA, it is read in triplets, pieces of three adjacent bases. The three corresponding RNA bases are later translated into an amino acid. Substitutions tend to be the least harmful mutations, because they each affect zero or at most one amino acid. Three-base insertions or deletions are also relatively harmless, because the addition or removal of a triplet means one amino acid more or less in the finished protein (I stress _relatively_ harmless; even substitutions can be lethal if they occur in a bad spot). Insertions or deletions of base numbers not divisible by three are bad news, because they disturb the reading frame of the sequence, potentially affecting all amino acids downstream from the mutation. They are called frameshift mutations and usually lead to the translation of a non-functional protein. Because of their potential for causing frameshifts, indels (insertions or deletions) are less frequently preserved in the course of evolution than substitutions. When aligning two homologous DNA sequences of unequal length, the occurence of an indel has to be assumed. This is represented by a gap: A_CGT AACGT We may even choose to assume an indel between sequences of the same length, if it makes for a better alignment. But since indels are often severe, their inclusion should be punished. That is, we apply a gap penalty. There is a multitude of different ways to compare even short DNA sequences. Without an algorithm to locate the best options, the computers of today would not be able to handle even a small fraction of the genetic information currently published. Fortunately, the Needleman-Wunsch algorithm (developed by Saul B. Needleman and Christian D. Wunsch) makes for optimal alignment of large sequences. Short sequences can be aligned by hand. The rest of this post will describe the procedure. ## How to run a Needleman-Wunsch algorithm First, draw a matrix. Each side should be the length of one of the sequences you want to compare, plus one cell. We are going to compare two sequences of 6 and 7 bases, respectively, so we need a 7x8 matrix:  You will notice that I have already filled out part of the matrix. Indeed, this is a bit premature. We first need to decide on a match score, a mismatch score and a gap penalty. This is the subjective part of the algorithm. I have used 1, 0 and -1. If in doubt, one can try to run the same alignment several times with different scores to see how much this affects the final results. The idea is to start in the upper left corner of the matrix and work your way down the alignment. A diagonal move means that you are simply comparing the next base in sequence 1 to the next base in sequence 2. A horizontal or vertical move signifies the introduction of a gap in, respectively, the vertical and horizontal sequence. Since our gap penalty is -1, every expansion of the gap in the same direction adds -1 to the total score unless we obtain a match. Now, lets attempt to align our first base. We have three options, but the first two are rather silly. We could introduce a gap in sequence 1 and then a gap in sequence 2. Or we could introduce a gap in sequence 2 and then a gap in sequence 1. Or we could just avoid gaps altogether and align the first base in sequence 1 with the first in sequence 2. You might have guessed what I prefer, but take a look at the scores to be sure: Option 1: -1 + (-1) = -2 Option 2: -1 + (-1) = -2 Option 3: 0 0 > -2. We put 0, because we got a mismatch (A and C). At this point, it's preferable to a gap, so we put a 0 in the matrix.  Now, we just need to fill out the rest of the matrix. It's important to put the best option in each cell based on the three cells that precede it to the west, north west and north.  The new 0 was chosen as the best of these three options: Option 1: Add a gap in sequence CCATTAG by moving right after aligning A and C: 0 [A and C mismatch] + 1 [C and C match] + (-1) [new gap] = 0 Option 2: Add a gap in sequence ACCTAG by moving downwards after aligning A and C: 0 [A and C mismatch] + 0 [A and C mismatch] + (-1) [new gap] = -1 Option 3: Align the second base in ACCTAG with the first base in CCATTAG by moving diagonally after introducing a gap in CCATTAG: -1 [gap in CCATTAG] + 1 (C and C match) = 0 Option 1 and 3 are equally good and beat option 2, so we put a 0 in the cell. We continue to add new numbers to the matrix, one slash at a time:   Fast-forward...  Our final score is the number in the lower right corner, in this case 2. The next step is to trace back through the matrix to see which alignment patterns led to this score. We ask ourselves: Which of the preceding cells could have produced the number 2. There are two options:  We now follow each path back to the upper left corner. I've used blue color here, because it was faster in Word, but it's more helpful to draw arrows so you can see each individual path right away:  There are three possible paths here, each of them producing an optimal alignment. The first one is:  It corresponds to the following alignment:  These are the other options:   |
| json metadata | {"tags":["science","math","genetics","bioinformatics","algorithm"],"image":["https://steemitimages.com/DQmRZ7miqppgzdMkxBjbmL9rPcMG5WBDpkiTMTbfEKNBaam/matrix1.png","https://steemitimages.com/DQmdpZY7cTXQipuLXYdz8ss1a6sNK2LfNixd4GQHcbufWSn/matrix2.png","https://steemitimages.com/DQmXtLrivb5gAs3cgZ9LsbpnrTHNyn3hS5x943QLUdWqT19/image.png","https://steemitimages.com/DQmUp7jqJyyqSPo8jPS7Ja9J3JnYgTC2SKsHpvJigFz6oGx/image.png","https://steemitimages.com/DQmQv3y1WR7TZBZSaN8aG77U2LS9hE1XpTFydT89AKyrdTQ/image.png","https://steemitimages.com/DQmNVvbmjGDBrqLtH7BrqvrCPiZ6HiqGxbHbskWf7DUUR9u/image.png","https://steemitimages.com/DQmbpRMZJ2oMu3yztjALT3byaCE9K7Yn1N7cKca7XCqBpxD/image.png","https://steemitimages.com/DQmcDM7AxrMk3KJ27KhgNGqYfBNiqNv48o4o6Qj1mtpzgwt/image.png","https://steemitimages.com/DQmcoEp6cYcrAyKwwTqGJVxkgKB7mCHfGFxyZJ7maKXHvMC/image.png","https://steemitimages.com/DQmXguzUqNz2GECkneJX5uNkG8qXpVPqkJBE5bbMANZETVS/image.png","https://steemitimages.com/DQmZZyifHSQdtueRWy9LqMGQVSjY4P8gj2BjbkHU3fZ7G9c/image.png","https://steemitimages.com/DQmUqMa1VNJyr9k1wWDGMvrZitvzU4BvyG3dJGXfrvYnjXp/image.png"],"links":["https://blast.ncbi.nlm.nih.gov/Blast.cgi?PAGE_TYPE=BlastSearch&PROG_DEF=blastn&BLAST_PROG_DEF=blastn&BLAST_SPEC=GlobalAln&LINK_LOC=BlastHomeLink"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #20689899/Trx 8584fb66fb76a42e877bbf7c6826e4c1d85a43b2 |
View Raw JSON Data
{
"trx_id": "8584fb66fb76a42e877bbf7c6826e4c1d85a43b2",
"block": 20689899,
"trx_in_block": 14,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-15T06:47:36",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "science",
"author": "callimico",
"permlink": "how-to-compare-two-dna-sequences-by-hand-the-needleman-wunsch-algorithm",
"title": "How to compare two DNA sequences by hand - the Needleman-Wunsch algorithm",
"body": "First of all, no sane person working with bioinformatics would spend time comparing DNA sequences by hand with all the fast digital tools available (here's one: https://blast.ncbi.nlm.nih.gov/Blast.cgi?PAGE_TYPE=BlastSearch&PROG_DEF=blastn&BLAST_PROG_DEF=blastn&BLAST_SPEC=GlobalAln&LINK_LOC=BlastHomeLink). Still, any bioinformatician would do well to understand the technique, in part because it contains an element of subjectivity.\n\nTwo DNA sequences that share a common origin are said to be homologous. It could be the gene for insulin in humans and the one in cattle. The genes are called orthologs when they are both homologous and come from different species. Homologous gene sequences differ, because the ancestral sequence has mutated in different places in the lineages descending from it. The mutation can be a substitution:\n\nAACGT to ACCGT\n\nAn insertion:\n\nAACGT to AACCGT\n\nOr a deletion:\n\nAACGT to ACGT\n\nWhen DNA is transcribed into RNA, it is read in triplets, pieces of three adjacent bases. The three corresponding RNA bases are later translated into an amino acid. Substitutions tend to be the least harmful mutations, because they each affect zero or at most one amino acid. Three-base insertions or deletions are also relatively harmless, because the addition or removal of a triplet means one amino acid more or less in the finished protein (I stress _relatively_ harmless; even substitutions can be lethal if they occur in a bad spot). Insertions or deletions of base numbers not divisible by three are bad news, because they disturb the reading frame of the sequence, potentially affecting all amino acids downstream from the mutation. They are called frameshift mutations and usually lead to the translation of a non-functional protein.\n\nBecause of their potential for causing frameshifts, indels (insertions or deletions) are less frequently preserved in the course of evolution than substitutions. When aligning two homologous DNA sequences of unequal length, the occurence of an indel has to be assumed. This is represented by a gap:\n\nA_CGT\nAACGT\n\nWe may even choose to assume an indel between sequences of the same length, if it makes for a better alignment. But since indels are often severe, their inclusion should be punished. That is, we apply a gap penalty.\n\nThere is a multitude of different ways to compare even short DNA sequences. Without an algorithm to locate the best options, the computers of today would not be able to handle even a small fraction of the genetic information currently published. Fortunately, the Needleman-Wunsch algorithm (developed by Saul B. Needleman and Christian D. Wunsch) makes for optimal alignment of large sequences. Short sequences can be aligned by hand. The rest of this post will describe the procedure.\n\n## How to run a Needleman-Wunsch algorithm\n\nFirst, draw a matrix. Each side should be the length of one of the sequences you want to compare, plus one cell. We are going to compare two sequences of 6 and 7 bases, respectively, so we need a 7x8 matrix:\n\n\t\t\t\t\n\nYou will notice that I have already filled out part of the matrix. Indeed, this is a bit premature. We first need to decide on a match score, a mismatch score and a gap penalty. This is the subjective part of the algorithm. I have used 1, 0 and -1. If in doubt, one can try to run the same alignment several times with different scores to see how much this affects the final results.\n\nThe idea is to start in the upper left corner of the matrix and work your way down the alignment. A diagonal move means that you are simply comparing the next base in sequence 1 to the next base in sequence 2. A horizontal or vertical move signifies the introduction of a gap in, respectively, the vertical and horizontal sequence. Since our gap penalty is -1, every expansion of the gap in the same direction adds -1 to the total score unless we obtain a match.\n\nNow, lets attempt to align our first base. We have three options, but the first two are rather silly. We could introduce a gap in sequence 1 and then a gap in sequence 2. Or we could introduce a gap in sequence 2 and then a gap in sequence 1. Or we could just avoid gaps altogether and align the first base in sequence 1 with the first in sequence 2. You might have guessed what I prefer, but take a look at the scores to be sure:\n\nOption 1: -1 + (-1) = -2\nOption 2: -1 + (-1) = -2\nOption 3: 0\n\n0 > -2. We put 0, because we got a mismatch (A and C). At this point, it's preferable to a gap, so we put a 0 in the matrix.\n\n\n\nNow, we just need to fill out the rest of the matrix. It's important to put the best option in each cell based on the three cells that precede it to the west, north west and north.\n\n\n\nThe new 0 was chosen as the best of these three options:\n\nOption 1: Add a gap in sequence CCATTAG by moving right after aligning A and C: \n0 [A and C mismatch] + 1 [C and C match] + (-1) [new gap] = 0\n\nOption 2: Add a gap in sequence ACCTAG by moving downwards after aligning A and C: \n0 [A and C mismatch] + 0 [A and C mismatch] + (-1) [new gap] = -1\n\nOption 3: Align the second base in ACCTAG with the first base in CCATTAG by moving diagonally after introducing a gap in CCATTAG:\n-1 [gap in CCATTAG] + 1 (C and C match) = 0\n\nOption 1 and 3 are equally good and beat option 2, so we put a 0 in the cell.\n\nWe continue to add new numbers to the matrix, one slash at a time: \n\n\n\n\n\nFast-forward...\n\n\n\nOur final score is the number in the lower right corner, in this case 2. The next step is to trace back through the matrix to see which alignment patterns led to this score. We ask ourselves: Which of the preceding cells could have produced the number 2. There are two options:\n\n\n\nWe now follow each path back to the upper left corner. I've used blue color here, because it was faster in Word, but it's more helpful to draw arrows so you can see each individual path right away:\n\n\n\nThere are three possible paths here, each of them producing an optimal alignment. The first one is:\n\n\n\nIt corresponds to the following alignment:\n\n\n\nThese are the other options:\n\n\n\n",
"json_metadata": "{\"tags\":[\"science\",\"math\",\"genetics\",\"bioinformatics\",\"algorithm\"],\"image\":[\"https://steemitimages.com/DQmRZ7miqppgzdMkxBjbmL9rPcMG5WBDpkiTMTbfEKNBaam/matrix1.png\",\"https://steemitimages.com/DQmdpZY7cTXQipuLXYdz8ss1a6sNK2LfNixd4GQHcbufWSn/matrix2.png\",\"https://steemitimages.com/DQmXtLrivb5gAs3cgZ9LsbpnrTHNyn3hS5x943QLUdWqT19/image.png\",\"https://steemitimages.com/DQmUp7jqJyyqSPo8jPS7Ja9J3JnYgTC2SKsHpvJigFz6oGx/image.png\",\"https://steemitimages.com/DQmQv3y1WR7TZBZSaN8aG77U2LS9hE1XpTFydT89AKyrdTQ/image.png\",\"https://steemitimages.com/DQmNVvbmjGDBrqLtH7BrqvrCPiZ6HiqGxbHbskWf7DUUR9u/image.png\",\"https://steemitimages.com/DQmbpRMZJ2oMu3yztjALT3byaCE9K7Yn1N7cKca7XCqBpxD/image.png\",\"https://steemitimages.com/DQmcDM7AxrMk3KJ27KhgNGqYfBNiqNv48o4o6Qj1mtpzgwt/image.png\",\"https://steemitimages.com/DQmcoEp6cYcrAyKwwTqGJVxkgKB7mCHfGFxyZJ7maKXHvMC/image.png\",\"https://steemitimages.com/DQmXguzUqNz2GECkneJX5uNkG8qXpVPqkJBE5bbMANZETVS/image.png\",\"https://steemitimages.com/DQmZZyifHSQdtueRWy9LqMGQVSjY4P8gj2BjbkHU3fZ7G9c/image.png\",\"https://steemitimages.com/DQmUqMa1VNJyr9k1wWDGMvrZitvzU4BvyG3dJGXfrvYnjXp/image.png\"],\"links\":[\"https://blast.ncbi.nlm.nih.gov/Blast.cgi?PAGE_TYPE=BlastSearch&PROG_DEF=blastn&BLAST_PROG_DEF=blastn&BLAST_SPEC=GlobalAln&LINK_LOC=BlastHomeLink\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}isedenisupvoted (100.00%) @callimico / why-we-trust-in-dna-to-tell-us-how-organisms-are-related2018/03/14 21:33:18
isedenisupvoted (100.00%) @callimico / why-we-trust-in-dna-to-tell-us-how-organisms-are-related
2018/03/14 21:33:18
| voter | isedenis |
| author | callimico |
| permlink | why-we-trust-in-dna-to-tell-us-how-organisms-are-related |
| weight | 10000 (100.00%) |
| Transaction Info | Block #20678858/Trx 1f38b92da870c080778d6a7d0175d76e7be4fe05 |
View Raw JSON Data
{
"trx_id": "1f38b92da870c080778d6a7d0175d76e7be4fe05",
"block": 20678858,
"trx_in_block": 4,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-14T21:33:18",
"op": [
"vote",
{
"voter": "isedenis",
"author": "callimico",
"permlink": "why-we-trust-in-dna-to-tell-us-how-organisms-are-related",
"weight": 10000
}
]
}2018/03/14 15:57:03
2018/03/14 15:57:03
| required auths | [] |
| required posting auths | ["callimico"] |
| id | follow |
| json | ["follow",{"follower":"callimico","following":"amavi","what":["blog"]}] |
| Transaction Info | Block #20672155/Trx 8c58fa148fee1c04bcc2cc118d0f0a51f991968d |
View Raw JSON Data
{
"trx_id": "8c58fa148fee1c04bcc2cc118d0f0a51f991968d",
"block": 20672155,
"trx_in_block": 50,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-14T15:57:03",
"op": [
"custom_json",
{
"required_auths": [],
"required_posting_auths": [
"callimico"
],
"id": "follow",
"json": "[\"follow\",{\"follower\":\"callimico\",\"following\":\"amavi\",\"what\":[\"blog\"]}]"
}
]
}callimicoupvoted (100.00%) @clixmoney / home-made-oat-milk-ovsyanoe-domashnee-moloko2018/03/14 15:23:57
callimicoupvoted (100.00%) @clixmoney / home-made-oat-milk-ovsyanoe-domashnee-moloko
2018/03/14 15:23:57
| voter | callimico |
| author | clixmoney |
| permlink | home-made-oat-milk-ovsyanoe-domashnee-moloko |
| weight | 10000 (100.00%) |
| Transaction Info | Block #20671493/Trx 7effcedfe1533727bd7c49b8dd69a564f092000b |
View Raw JSON Data
{
"trx_id": "7effcedfe1533727bd7c49b8dd69a564f092000b",
"block": 20671493,
"trx_in_block": 46,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-14T15:23:57",
"op": [
"vote",
{
"voter": "callimico",
"author": "clixmoney",
"permlink": "home-made-oat-milk-ovsyanoe-domashnee-moloko",
"weight": 10000
}
]
}2018/03/14 15:19:09
2018/03/14 15:19:09
| parent author | ingkelimeler |
| parent permlink | nuclear-warheads |
| author | callimico |
| permlink | re-ingkelimeler-nuclear-warheads-20180314t151911367z |
| title | |
| body | Source? |
| json metadata | {"tags":["statistics"],"app":"steemit/0.1"} |
| Transaction Info | Block #20671397/Trx 3cbaa08ad67e2925d9c0ced437b7a03f5321d196 |
View Raw JSON Data
{
"trx_id": "3cbaa08ad67e2925d9c0ced437b7a03f5321d196",
"block": 20671397,
"trx_in_block": 30,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-14T15:19:09",
"op": [
"comment",
{
"parent_author": "ingkelimeler",
"parent_permlink": "nuclear-warheads",
"author": "callimico",
"permlink": "re-ingkelimeler-nuclear-warheads-20180314t151911367z",
"title": "",
"body": "Source?",
"json_metadata": "{\"tags\":[\"statistics\"],\"app\":\"steemit/0.1\"}"
}
]
}2018/03/14 15:18:12
2018/03/14 15:18:12
| parent author | dursunmahmuthan |
| parent permlink | gun-deaths-per-100-000-peaoeple-2014 |
| author | callimico |
| permlink | re-dursunmahmuthan-gun-deaths-per-100-000-peaoeple-2014-20180314t151814786z |
| title | |
| body | Source? |
| json metadata | {"tags":["statistics"],"app":"steemit/0.1"} |
| Transaction Info | Block #20671378/Trx 2577239c2386c124d433a20bbaaf39b7fe821f7f |
View Raw JSON Data
{
"trx_id": "2577239c2386c124d433a20bbaaf39b7fe821f7f",
"block": 20671378,
"trx_in_block": 56,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-14T15:18:12",
"op": [
"comment",
{
"parent_author": "dursunmahmuthan",
"parent_permlink": "gun-deaths-per-100-000-peaoeple-2014",
"author": "callimico",
"permlink": "re-dursunmahmuthan-gun-deaths-per-100-000-peaoeple-2014-20180314t151814786z",
"title": "",
"body": "Source?",
"json_metadata": "{\"tags\":[\"statistics\"],\"app\":\"steemit/0.1\"}"
}
]
}callimicoupvoted (100.00%) @cristi / how-i-analyze-dna-with-biopython2018/03/14 15:11:42
callimicoupvoted (100.00%) @cristi / how-i-analyze-dna-with-biopython
2018/03/14 15:11:42
| voter | callimico |
| author | cristi |
| permlink | how-i-analyze-dna-with-biopython |
| weight | 10000 (100.00%) |
| Transaction Info | Block #20671248/Trx 1bd810e3bf9d1e7c69f9d84e899de728eaa60565 |
View Raw JSON Data
{
"trx_id": "1bd810e3bf9d1e7c69f9d84e899de728eaa60565",
"block": 20671248,
"trx_in_block": 35,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-14T15:11:42",
"op": [
"vote",
{
"voter": "callimico",
"author": "cristi",
"permlink": "how-i-analyze-dna-with-biopython",
"weight": 10000
}
]
}Manabar
Voting Power100.00%
Downvote Power100.00%
Resource Credits100.00%
Reputation Progress0.00%
{
"voting_manabar": {
"current_mana": "8143659806",
"last_update_time": 1779056796
},
"downvote_manabar": {
"current_mana": 2035914951,
"last_update_time": 1779056796
},
"rc_account": {
"account": "callimico",
"rc_manabar": {
"current_mana": "10164408779",
"last_update_time": 1779056796
},
"max_rc_creation_adjustment": {
"amount": "2020748973",
"precision": 6,
"nai": "@@000000037"
},
"max_rc": "10164408779"
}
}Account Metadata
| POSTING JSON METADATA | |
| profile | {"profile_image":"https://upload.wikimedia.org/wikipedia/commons/7/77/Goeldi%27s_Marmoset.jpg","about":"Danish biology student with a passion for animals, language learning and musical composition among other things"} |
| JSON METADATA | |
| profile | {"profile_image":"https://upload.wikimedia.org/wikipedia/commons/7/77/Goeldi%27s_Marmoset.jpg","about":"Danish biology student with a passion for animals, language learning and musical composition among other things"} |
{
"posting_json_metadata": {
"profile": {
"profile_image": "https://upload.wikimedia.org/wikipedia/commons/7/77/Goeldi%27s_Marmoset.jpg",
"about": "Danish biology student with a passion for animals, language learning and musical composition among other things"
}
},
"json_metadata": {
"profile": {
"profile_image": "https://upload.wikimedia.org/wikipedia/commons/7/77/Goeldi%27s_Marmoset.jpg",
"about": "Danish biology student with a passion for animals, language learning and musical composition among other things"
}
}
}Auth Keys
Owner
Single Signature
Public Keys
STM6eryEdGuEfRmobm3DW6USMYtAXRoxHCVoQTeu3rfw7i8bPnsdy1/1
Active
Single Signature
Public Keys
STM7b2wQARmY9x3tgwSLr1LBPJyeVKx8vLJ25iZJv1i4XzHEfSoEK1/1
Posting
Single Signature
Public Keys
STM8AaDL3PW9ydqjBVJojTkcKLLtVQkVi9U2Q5mQpyPUD9ytx5cHC1/1
Memo
STM5tiGgRZ3fjkLhuzfnbmvRGNgPFAYF8rzLBgG71wFAWELPW23jr
{
"owner": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM6eryEdGuEfRmobm3DW6USMYtAXRoxHCVoQTeu3rfw7i8bPnsdy",
1
]
]
},
"active": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM7b2wQARmY9x3tgwSLr1LBPJyeVKx8vLJ25iZJv1i4XzHEfSoEK",
1
]
]
},
"posting": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM8AaDL3PW9ydqjBVJojTkcKLLtVQkVi9U2Q5mQpyPUD9ytx5cHC",
1
]
]
},
"memo": "STM5tiGgRZ3fjkLhuzfnbmvRGNgPFAYF8rzLBgG71wFAWELPW23jr"
}Witness Votes
0 / 30
No active witness votes.
[]